Hi, 👋 ! 如果您发现有什么错误的地方,点这里可以提 issue,🤝🤝
by poplark
版本 | 产生时间 | 内容 | 发展现状 |
---|---|---|---|
HTTP/0.9 | 1991年 | 不涉及数据包传输,规定客户端和服务器之间通信格式,只能GET请求 | 没有作为正式的标准 |
HTTP/1.0 | 1996年 | 传输内容格式不限制,增加POST、PUT、PATCH、HEAD、OPTIONS、DELETE命令 | 正式作为标准 |
HTTP/1.1 | 1997年 | 持久连接(长连接)、节约带宽、HOST域、管道机制、分块传输编码 | 2015年前使用最广泛 |
HTTP/2 | 2015年 | 多路复用、服务器推送、头信息压缩、二进制协议等 | 逐渐覆盖市场 |
疑问点:
http 与 TCP 之间插入了 SSL/TLS。
流程:
传输方向 | 内容 | 解释 |
---|---|---|
C -> S | Client Hello | 客户端发起握手 |
S -> C | Server Hello | 服务器响应握手 |
S -> C | Server Certificates | 服务器将证书给到客户端(证书中包含公钥) |
S -> C | Server Hello Done | 服务器握手结束 |
C -> S | Client Key | 客户端生成对称加密的密钥(利用证书中的公钥进行加密)并发送给服务器,服务器(利用证书对应的私钥解密)得到对称加密的密钥 |
C -> S | Content | 客户利用对称加密的密钥将内容加密发送给服务器 |
… | … | … |
todo
三次握手:
C -(SYN seq x)-> S -(SYN-ACK seq y, ack x+1)-> C -(ACK seq x+1, ack y+1)-> S
四次挥手:
C -(FIN seq x)-> S -(ACK seq y, ack x+1) -> C
-(FIN-ACK seq z, ack x+1)-> C -(ACK seq x+1, ack z+1)-> S
参考:
tags: 网络