应用层相关
一 HTTP:超文本传输协议
-
请求报文和响应报文结构
请求报文是由请求方法、请求URI、协议版本、可选的请求首部字段和内容实体构成。
响应报文基本上是由协议版本、状态码、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成。 -
响应状态码
-
HTTP Keep-Alive
实现HTTP协议长连接、短连接。
短连接在建立连接以后只进行一次数据传输就关闭连接,而长连接在建立连接以后会进行多次数据数据传输直至关闭连接(长连接中关闭连接通过Connection:closed头部字段)。
设置方式:http头加入"Connection: Keep-Alive",具体时间是由服务器来配置。 -
TCP keepalive
如果连接之间没有通信,这个时间窗口会逐渐减小,当它减小到零的时候,TCP协议会向对方发一个带有ACK标志的空数据包(KeepAlive探针),对方在收到ACK包以后,如果连接一切正常,应该回复一个ACK;如果连接出现错误了(例如对方重启了,连接状态丢失),则应当回复一个RST;如果对方没有回复,服务器每隔intvl的时间再发ACK,如果连续probes个包都被无视了,说明连接被断开了。- 检查dead peer
- 阻止因网络连接不活跃(长时间没有数据包)而导致的连接中断,NAT删掉连接;
二 Cookie和Session
image三 HTTPS
-
- http明文传输不安全;
- HTTP加密,对称加密方式需要安全传输密钥;
- 利用非对称方式传输对称加密的密钥;
- 如何保证客户拿到的网站公钥是正确的,CA证书 = 网站信息+网站公钥+数字签名;
消息摘要 = MD5(网站信息+网站公钥)
数字签名 = CA私钥加密(消息摘要)
-
TCP+HTTPS流程
image -
应用
证书,12306 与 https
因为12306 自己给自己发了个证书,而这个证书默认是没有被操作系统信任。
四 其他应用层协议
- SMTP:简单邮件协议
- DNS解析
DNS为什么既使用TCP又使用UDP?
网友评论