网络分层
网络分层分为应用层,传输层,网络层,数据链路层,物理层。
域名解析
定义:将域名解析成具体的ip地址
解析过程:
1、查找浏览器缓存
2、查找本地DNS缓存
3、没有,通过DNS服务器进行解析,查询对应的ip
uri,url和urn
uri:Uniform Resource Identifier,统一资源标识符,uri包括urn和url
url:Uniform Resource Location,表示资源的位置
urn:Uniform Resource Name,资源持久的,位置无关的标识方式
Session和Cookie
session和cookie其实是两个完全不同的概念。
session表示的是一次会话。session相关信息存储在服务端,会话结束则失效。分布式环境下,使用redis存储session相关的信息。
Cookie是一个存储在客户端的小文本文件。可配置有效时间,生效的域名范围等等。但安全性低,在浏览器有泄露的风险 。一般会将用户登录后生成的token存储在Cookie。
TCP三次握手
握手过程:
1、客户端发送SYN给服务端(序号A)
2、服务端回复SYN+ACK(序号B,确认码A+1)
3、客户端发送ACK(序号A+1,确认码B+1),完成连接的建立
重试机制:
若第二次后,没收到客户端返回,则会重试5次
TCP四次挥手
挥手过程:
1、客户端发送FIN(发出结束请求)
2、服务端回复ACK(准备结束)
3、服务端发送FIN+ACK(确认可以结束了)
4、客户端发送ACK(确认结束)
UDP
UDP也是传输层协议。他和TCP的主要区别是:
1、可靠性不能保证
2、速度更快
3、无连接,广播模式
所以,UDP的应用场景主要是即时聊天,视频通话。速度快,且即使有所丢失也不会影响太多。
IP
处于网络层,与 TCP 组成 TCP/IP 协议。其主要作用是:寻址和路由。
HTTPS
HTTPS在HTTP的基础上增加了SSL/TLS协议,可保证数据安全。默认端口是443。
其具体的工作流程如下:
1、客户端请求服务端
2、服务端返回证书(包含公钥,有效期等证书信息)
3、客户端校验证书,并生成一个对称密钥,用上述返回的公钥加密后传给服务端
4、服务端用私钥解密得到对称密钥,将要返回的内容用该对称密钥加密后返回给客户端
5、客户端用对称密钥解密得到返回内容