深入理解HTTP协议与HTTPS协议

HTTP与HTTPS

1、HTTP
  • HTTP是超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议。常基于TCP/IP写于传输数据,互联网上英语最为广泛的一种网络协议,所有的www文件都必须遵循这个标准。设计HTTP的初衷是提供一种发布和接收HTML页面的方法。

  • HTTP发展历史

版本时间内容发展
HTTP/0.91991年不涉及数据包传输,规定客户端和服务器端之前的通信格式只能是GET请求没有作为正式的标准
HTTP/1.01996年传输内容格式不限制,增加了PUT、PATCH、HEAD、OPTIONS、DELETE方法正式作为标准
HTTP/1.11997年持久连接(长连接)、节约带宽、HOST域、管道机制、分块传输编码2015年前使用最广泛
HTTP/22015年多路复用、服务器推送、头信息压缩、二进制协议等逐渐覆盖市场
  • 多路复用:通过单一的HTTP/2连接请求发起多重的请求-响应消息,多个请求stream共享一个TCP连接,实现多路并行,而不是依赖建立多个TCP连接。
2、HTTPS
  • HTTPS协议是以安全为目标的HTTP通道,可以理解为HTTP+SSL/TLS,HTTPS就是HTTP的安全版本,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
  • HTTPS协议的主要作用
    • ①建立一个信息安全通道,保证数据传输的安全;
    • ②确认网站的真实性。
  • HTTPS工作原理
    • ①客户端发起HTTPS请求访问Web服务器:用户在浏览器中输入一个HTTPS网址,连接到服务器的443端口,要求与服务器建立SSL连接,发送的信息主要是随机值1和客户端支持的加密算法;
    • ②服务器响应客户端握手信息,包括随机值2和匹配好的协商加密算法,这个加密算法一定是客户端发送给服务器端加密算法的子集;
    • ③服务器传送数字证书:随即服务器给客户端发送第二个响应报文是数字证书。服务器端必须要有一套数字证书,可以自己制作,也可以向组织申请。这套数字证书其实就是一对公钥和私钥,是用来进行非对称加密使用的。服务器端传送证书其实就是公钥给客户端;
    • ③客户端解析证书:客户端收到证书(公钥)后,首先验证公钥是否有效,如果证书没有问题,就生成一个随机值(预主秘钥),用于对称加密的密钥,称之为client key;
    • ④加密信息并传送加密信息:客户端认证证书通过后,通过随机值1、随机值2和预主秘钥组装会话秘钥,通过公钥进行非对称加密会话秘钥,形成密文(到此,HTTPS中的第一次HTTP请求结束);
    • ⑤传送加密信息:客户端将该密文传送给服务器端;此时,HTTPS中的第二个HTTP请求开始;
    • ⑤服务器解密信息:服务器收到客户端发送的密文后,用自己的私钥解密得到客户端传来的随机值1、随机值2和预主秘钥,然后用客户端密钥对数据进行对称加密,这样数据就变成了密文,并发送给客户端;
    • ⑥客户端收到服务器发送的密文后,用client key对其进行对称解密,得到服务器发送的数据。此时,HTTPS中的第二个HTTP请求结束,整个HTTPS传输完成。
  • HTTPS加密方式:对称加密和非对称加密的结合
    • 客户端在浏览器中使用HTTPS的URL访问服务器,建立SSL连接;
    • 服务器收到SSL连接,发送非对称加密的公钥A返回给客户端;
    • 客户端生成随机数,作为对称加密的密钥B;
    • 客户端使用公钥A,对自己生成的密钥B进行加密,得到密钥C,发送给服务器;
    • 服务器用私钥D对接受的密钥C进行解密,得到对称加密钥B
    • 客户端和服务器之间可以用对称加密密钥B进行通信。
3、HTTP 和 HTTPS的区别
  • HTTPS协议需要到CA机构申请证书,一般免费证书较少,需要一定费用;
  • HTTP是超文本传输协议,信息是明文传输;HTTPS是具有安全性的SSL加密的传输协议;
  • HTTP和HTTPS使用的是完全不同的连接方式,端口也不同,HTTP是80,HTTPS是443;
  • HTTP的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP构建的可进行加密传输、身份认证的网络协议,比HTTP安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值