HTTP、HTTPS总结

本文深入探讨了HTTP协议的发展历程,从HTTP 1.0的简单GET请求到HTTP 1.1的长连接和Pipeline技术。接着介绍了HTTPS如何通过SSL/TLS提供安全的数据传输,包括证书校验、非对称加密和对称加密的过程。最后,强调了HTTPS在网站安全中的重要性及其实施步骤。
摘要由CSDN通过智能技术生成

HTTP(Hyper Text Transfer Protocol)名叫超文本传输协议。

早期HTTP只有GET请求,用来简单的拿文件,拿完就断开了连接。

HTTP1.0时期,在单一GET方式中增加了POST、HEAD命令、引入了请求头和响应头、增加了HTTP版本号、增加了响应状态码、引入Content-Type使传输不限于文本。但是该版本还是存在一些问题:

  • 连接无法复用,HTTP1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接。
  • 发送一次请求时,需要等待服务端响应了才可以继续发送请求。

HTTP1.1中增加了keepalive,允许长连接;支持pipeline,无需等待前面的响应也可以发送第二次请求;增加缓存管理;允许响应数据分块,响应的时候不标明Content-Length,客户端就无法断开连接,直到收到服务端的EOF,利于传输大文件。HTTP1.1也是目前使用最广泛的。

消息结构

HTTP是一个基于TCP/IP协议来传递数据的协议。发送一个HTTP请求的消息包括:请求行、请求头部、空行、请求数据四部分。

未命名文件 (5)

接收HTTP请求的服务器响应消息包括:状态行、消息报文、空行、响应正文四部分。

未命名文件 (6)

HTTPS

对于使用HTTP发送的数据,很容易被拦截、篡改、以及发起攻击。为了解决这些问题,于是引入了HTTPS,HTTPS由HTTP+SSL/TLS组成,通过SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密。

一个网站在使用HTTPS之前,需要选择一家公认的CA机构,对网站地址及企业信息进行签字认证,CA机构使用自己的私钥对这些摘要信息进行加密,生成一个CA证书。

然后就是我们使用的浏览器,在浏览器中都已经内置了这些公认的CA机构的公钥,所以当访问HTTPS网站时,浏览器得到数字证书后,就会使用内置的CA机构公钥对证书进行验证。

一个完整的HTTPS请求包含三部分内容:

  1. 证书校验

    浏览器内置的CA公钥对证书进行验证

  2. 非对称加密

    非对称加密的意思就是:加密与解密是使用的不同的钥匙。

    这一步浏览器先提取公钥信息,利用公钥生成一个随机key,然后使用公钥将随机key进行加密,发送给服务器。服务器使用私钥将接收到的信息进行解密,得到随机key。

  3. 对称加密

    在第二步中,客户端与服务端都知道了这个随机key,在后面的数据交互过程中,都是使用这个随机key来对数据进行加解密,也就是所谓的对称加密。

未命名文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值