HTTPS、HTTP

http协议是一种基于请求与响应模式的、无状态的应用层协议。

https协议是http协议的安全版,本质上也是http协议,只是在http协议的基础上添加了一个SSL或TLS协议层。
解决了以下三个方面的安全性:

  • 提供验证服务,验证本次会话实体身份的合法性
  • 提供加密服务,保证通信过程中消息不会被破译
  • 提供防篡改服务,利用hash算法对消息进行签名,通过验证签名保证通信信息不会被篡改。

HTTPS协议先通过TCP/IP协议完成3次握手建立连接,然后是SSL握手协议完成客户与服务器之间的身份验证及密钥协商。

  1. 客户端向服务器发送SSL/TLS协议的版本号、加密算法种类、产生的随机数以及其它需要的各种信息
  2. 服务器从客户端支持的加密算法中选择一组加密算法与hash算法,并把自己的加密证书发送给客户端
  3. 浏览器获取服务器证书后验证其合法性,验证颁发机构合法性,验证证书中的网址与正在访问的网址是否一致。
  4. 客户端浏览器生成一串随机数并用服务器发送来的公钥加密,在使用约定好的hash算法计算握手消息,发送到服务端。
  5. 服务器接到握手消息后使用自己的私钥解密,并使用散列算法验证,这样双方都有了此次通信的密钥
  6. 服务器爱使用密钥加密一段握手信息,返回给和浏览器
  7. 浏览器使用密钥解密,并用散列算法验证,确定算法和密钥

Http请求报文由请求行(空格分隔,\r\n结尾),请求头,请求体组成。
在这里插入图片描述请求头

User-agent
Accept
Host
Cookie
Refer
Cache-Control

在这里插入图片描述
Cache-Control 对响应内容进行缓存
Location 用于重定向
Set-Cookie 设置cookie

猜你喜欢

转载自blog.csdn.net/ljz2016/article/details/84861272
今日推荐