前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTTP协议和TCP协议简单分析

HTTP协议和TCP协议简单分析

作者头像
西柚dzh
发布2022-06-09 17:30:15
4570
发布2022-06-09 17:30:15
举报
文章被收录于专栏:dcmickey小站

HTTP协议和TCP协议简单分析

HTTP版本

HTTP/1.0

1996年

传输内容格式不限制,增加PUT、PATCH、HEAD、 OPTIONS、DELETE命令

正式作为标准

HTTP/1.1

1997年

持久连接(长连接)、节约带宽、HOST域、管道机制、分块传输编码

2015年前使用最广泛

HTTP/2

2015年

多路复用、服务器推送、头信息压缩、二进制协议等

逐渐覆盖市场

HTTPS

S是SSL/TLS建立全信道,加密数据包。

TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布,有时候两者不区分

1、客户端向服务器请求公钥,

2、服务端会用CA的私钥对公钥加密然后和CA证书一起发给客户端,

3、客户端拿到加密后的公钥和证书(利用CA的公钥解密出实际的公钥),客户端TLS还会验证是否证书合法,

4、客户端生成一个随机的对称的密钥(一个随机数,基于RSA签名),来加密要发送的报文数据

5、生成的对称密钥会用接受的公钥进行加密,发给服务器,让服务端用私钥解密,获得这个对称密钥

6、客户端就可以用这个对称密钥来加密数据进行通信传输。

https 每次请求都会加密吗

不会,非对称加密是比较耗时的,每次都会对称加密请求

对称加密和非对称加密

对称指的是加密和解密用同一个密钥

非对称是加密和解密用不同的密钥。公钥和私钥两把钥匙

对比

HTTP特点:

  1. 无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作
  2. 无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。
  3. 基于请求和响应:基本的特性,由客户端发起请求,服务端响应
  4. 简单快速、灵活
  5. 通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性

HTTPS特点:

基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护

  1. 内容加密:采用混合加密技术,中间者无法直接查看明文内容
  2. 验证身份:通过证书认证客户端访问的是自己的服务器
  3. 保护数据完整性:防止传输的内容被中间人冒充或者篡改

TCP

三次握手

(1)客户端发送syn包(seq=x)到服务端,等待服务器确认;

​ SYN:同步序列编号(Synchronize Sequence Numbers)

(2)服务端收到syn包,必须确认客户端的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包

(3)客户端收到服务端的SYN+ACK包,向服务端发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手

四次挥手

(1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送

(2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。

(3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A。

(4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1,然后等待2msl后关闭连接

等待2msl的目的是防止服务端没有收到,会重试请求给客户端。这段时间正好是2msl。


版权属于:dingzhenhua

本文链接:https://cloud.tencent.com/developer/article/2019356

转载时须注明出处及本声明

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HTTP协议和TCP协议简单分析
  • HTTP版本
  • HTTPS
    • 对比
    • TCP
      • 三次握手
        • 四次挥手
        相关产品与服务
        SSL 证书
        腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档