cookies,sessionStorage 和 localStorage
Cookie是可以覆盖的,如果重复写入同名的Cookie,那么将会覆盖之前的Cookie。
如果要删除某个Cookie,只需要新建一个同名的Cookie,并将maxAge设置为0,并添加到response中覆盖原来的Cookie。注意是0而不是负数。负数代表其他的意义。
localStorage是没有失效时间的,sessionStorage的声明周期是浏览器的生命周期。
当浏览器关闭时,sessionStorage的数据将清空,而localStorage数据只要不通过clear()删除,是永久保存的。
减少网络流量,快速显示数据,临时存储
cookie和session
cookie数据存放在客户的浏览器上,session数据放在服务器上。
cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
所以建议是:
将登陆信息等重要信息存放为SESSION 其他信息如果需要保留,可以放在COOKIE中
cookie的组成部分
Set-Cookie: NAME=VALUE;Expires=有效终止日期;Path=cookie所在域;Domain=cookie所在目录;SECURE=true(https加密协议)
http响应常见状态码
code | status | mean |
---|---|---|
200 | 正常 | 表示一切正常, 返回的是正常请求结果 |
302/307 | 临时重定向 | 指出请求的文档已被临时移动到别处, 此文档的新的url在location响应头中给出 |
304 | 未修改 | 表示客户机缓存的版本是最新的, 客户机应该继续使用它 |
403 | 禁止 | 服务器理解客户端请求, 但拒绝处理它, 通常用于服务器上文件或目录的权限设置所致 |
404 | 找不到 | 服务器上不存在客户机所请求的资源 |
500 | 服务器内部错误 | 服务器端的cgi, asp, jsp等程序发生错误 |
TCP/IP 四层协议,OSI 七层模型
浏览器中输入网址后到页面展现的过程
1.浏览器接收URL
协议部分:http 网络地址:www.guokr.com 资源路径:/question/554991/
2.浏览器通过DNS获取网站的IP地址
客户端先检查本地是否有对应的IP地址,若找到则返回响应的IP地址。若没找到则请求上级DNS服务器,直至找到或到根节点
DNS(域名系统):域名和IP地址相互映射的一个分布式数据库
DNS查找IP地址的顺序: 浏览器缓存->系统缓存->路由器缓存
3.应用层发送http请求
HTTP请求包括请求报头和请求主体两个部分,其中请求报头包含了至关重要的信息,包括请求的方法(GET / POST)、目标url、遵循的协议(http / https / ftp…),返回的信息是否需要缓存,以及客户端是否发送cookie等。
4.传输层TCP传输报文
TCP协议通过“三次握手”等方法保证传输的安全可靠,防止已失效的请求报文段突然又传送到了服务端而造成连接的误判。
断开四次挥手的原因:
A是主动关闭方,B是被动关闭方,四次握手可以描述为:
第一次握手:A告诉B,“我要关闭连接了”。
第二次握手:B回复A,“我知道你要关闭了,但是请等一下,我还有数据没有传完,你等我消息”。
第三次握手:B告诉A,“我的数据发完了,你可以关闭连接了”。
第四次握手:A回复B,“好的,你先关吧,我2MSL时间后再关”
5.网络层IP协议查询MAC地址
IP协议的作用是把TCP分割好的各种数据包传送给接收方。而要保证确实能传到接收方还需要接收方的MAC地址,也就是物理地址。IP地址和MAC地址是一一对应的关系,一个网络设备的IP地址可以更换,但是MAC地址一般是固定不变的。ARP协议可以将IP地址解析成对应的MAC地址。当通信的双方不在同一个局域网时,需要多次中转才能到达最终的目标,在中转的过程中需要通过下一个中转站的MAC地址来搜索下一个中转目标。
6.数据到达数据链路层
在找到对方的MAC地址后,就将数据发送到数据链路层传输。这时,客户端发送请求的阶段结束
7.服务器接收数据
接收端的服务器在链路层接收到数据包,再层层向上直到应用层。这过程中包括在运输层通过TCP协议将分段的数据包重新组成原来的HTTP请求报文。
8.服务器响应请求
服务接收到客户端发送的HTTP请求后,查找客户端请求的资源,并返回响应报文,响应报文中包括一个重要的信息——状态码。
1XX临时/信息响应 2XX成功 3XX重定向 4XX客户端/请求错误 5XX服务器错误
9.服务器返回响应文件
请求成功后,服务器会返回相应的HTML文件。接下来就到了页面的渲染阶段了。
cdn(内容分发网络):淘宝在全国各地建立了数十上百个CDN节点,利用一些手段保证你访问的(这里主要指js、css、图片等)地方是离你最近的CDN节点
10.页面渲染: 解析HTML以构建DOM树 –> 构建渲染树 –> 布局渲染树 –> 绘制渲染树。
1)解析HTML代码,生成一棵DOM树
2)解析CSS文件
3)生成渲染树(将css样式应用到DOM节点上,受样式影响,包含不可见元素)
4)渲染树中的节点(布局,绘制)