我报名参与金石方案1期应战——分割10万奖池,这是我的第3篇文章,点击检查活动概况
HTTP
基础
HTTP 超文本传输协议 ,应用层协议。首要用于 Web 上传输超媒体文本的底层协议,经常在浏览器和服务器之间传递数据。通信就是以纯文本的形式进行。
HTTP 是无状况
无状况是 HTTP 协议对客户端恳求状况没有进行存储,比如每次恳求都需要从头登录
HTTP 是无衔接
无衔接首要是约束每次衔接只处理一个恳求。每次恳求都是客户发起恳求,服务端呼应恳求,然后就断开衔接。这期间就是经过三次握手树立衔接,四次挥手断开衔接。每次恳求即便是多次恳求并恳求同一个资源,服务端都无法判别是否是相同恳求,都需要从头呼应恳求。
所以,为了处理客户端和服务端保持会话衔接,经过 cookie 和 session 来记录 http 状况。
HTTP 的其他特点是简略快速,只需传送方法和路径就能够向服务端进行恳求;还有支持传输任意类型的数据目标。
HTTPS
基础
https 是 http 的“晋级”版别:
HTTPS = HTTP+ SSL/TLS
SSL 是安全层,TLS 是传输层安全,是SSL 的继承。运用SSL或TLS 可保证传输数据的安全性。
运用 HTTP 或许看到传输数据是: “这是明文信息”
运用 HTTPS 或许看到: “283hd9saj9cdsncihquhs99ndso”
HTTPS 传输的不再是文本,而是二进制流,使得传输更高效,且加密处理更加安全。
HTTPS 的工作流程
1、客户端恳求 HTTPS 恳求并衔接到服务器的 443 端口,此过程和恳求 HTTP 恳求相同,进行三次握手;
2、服务端向客户端发送数字证书,其中包含公钥、证书颁布者、到期日期
现比较盛行的加解密码对,即公钥和私钥。公钥用于加密,私钥用于解密。所以服务端会保存私钥,然后发送公钥给客户端。
3、客户端收到证书,会验证证书的有效性。验证经过后会生成一个随机的 pre-master key。再将密钥经过接纳到的公钥加密然后发送给服务端
4、服务端接纳后运用私钥进行解密得到 pre-master key
5、取得 pre-master key 后,服务器和客户端能够运用主密钥进行通信。
HTTP 与 HTTPS 区别
所以在答复 HTTP 与 HTTPS 的区别的问题,能够从下面几个方面进行答复:
- 加密: HTTPS 是 HTTP 协议的更加安全的版别,经过运用SSL/TLS进行加密传输的数据;
- 衔接方法: HTTP(三次握手)和 HTTPS (三次握手+数字证书)衔接方法不相同;
- 端口: HTTP 默许的端口是 80和 HTTPS 默许端口是 443
HTTP2 是什么?
HTTP/2 超文本传输协议第2版,是 HTTP/1.x 的扩展。所以 HTTP/2没有改动HTTP的应用语义,仍然运用HTTP的恳求方法、状况码和头字段等规矩。
它首要修改了HTTP的报文传输格式,经过引进二进制分帧层完成性能的提升。
现有很多干流浏览器的 HTTPS/2 的完成都是根据SSL/TLS的,所以根据 SSL/TLS 的 HTTP/2 衔接树立过程和 HTTPS 差不多。在树立衔接过程中会带着标识希望运用 HTTP/2 协议,服务端相同方法回应。