cookie、sessionStorage、localeStorage
-
存储方式:
-
cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)
-
cookie数据会在浏览器和服务器间来回传递
-
sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存
-
-
存储大小:
cookie数据大小不能超过4ksessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大
-
有期时间:
localStorage存储持久数据,浏览器关闭后数据不丢失除非主动删除数据sessionStorage数据在当前浏览器窗口关闭后自动删除cookie设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭
从输入url到页面渲染完成
graph TD
输入URL --> DNS解析域名对应的ip地址 --> 检查浏览器是否有缓存 --> 发起TCP连接 --> 发起http请求 --> 服务器响应并返回数据 --> 浏览器渲染页面 --> 断开连接
强缓存和协商缓存:
- 当浏览器请求资源时,会先判断本地是否有缓存,如果没有则直接请求服务器。
- 如果有,就先判断强缓存,根据expires(时间点)和cache-control(相对时间:xxx秒之后失效),如果强缓存未过期,直接读取强缓存。
- 如果过期了,就去判断协商缓存,服务器会先判断etag/if-none-matched是否一致,一致则返回304,读取本地资源;如果没有etag,那就去对比last-modified和if-modified-since是否一致,一致则返回304读取本地资源,不一致那状态码就为200并且会返回新的资源。
- 发起TCP连接
三次握手
- 第一次握手:客户端发送网络包,服务端接收到了。
- 第二次握手,服务端发送包,客户端收到了。
- 第三次握手,客户端发送包,服务端收到了
客户端和服务端双方都能确定对方和自己的收发能力正常
为什么不是两次握手?
如果只有两次握手就能建立连接,那在第二次握手之后如果客户端没有接收到服务端的包,但服务端认为建立了连接,这样服务端会保存必要的资源,造成资源浪费,如果出现大量这样的情况,服务器会崩溃。
TCP和UDP:
(1)tcp:可靠 udp不可靠
(2)tcp面向连接 udp无连接
(4) tcp一对一 udp一对多,多对一,多对多
(5)tcp传输字节流 udp传输报文
http的特点:
(1)支持c/s模式
(2)灵活:可以传输任意类型的数据对象,传输的类型由content-type标记
(3)无连接:每次只处理一个请求
(4)无状态:如果后续处理需要前面的信息,则必须重传
- 服务器处理并响应请求
- 浏览器渲染页面
- 断开连接