网络知识汇总

Posted by Liangyuqi on June 3, 2017
view times

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)渲染树中的节点(布局,绘制)