美文网首页
理解http1.0、http1.1、http2.0和https

理解http1.0、http1.1、http2.0和https

作者: 古月丶 | 来源:发表于2020-03-18 16:43 被阅读0次
    http

    http是超文本传输协议的缩写,它是一个无状态协议,即客户端与服务器之间不需要建立持久的连接,客户端向服务器发送请求,服务器响应请求,连接就被关闭了,服务器不会保留连接信息,

    • 简单快速:客户端向服务器发起请求时,只需要传送请求方法和路径,由于http协议比较简单,因而通信速度很快;
    • 数据格式灵活:http允许可以传输任意类型的数据;
    • 无连接:每次连接只处理一个请求,客户端发起请求,服务器响应请求,连接结束,节省了传输时间;
    • 无状态:每次连接在服务器都不会有记录;
    http1.1
    • 持久连接:默认开启Connection:keep-active,TCP连接不关闭,可以被多个请求复用;
    • Host头:http1.0中认为服务器的IP都是唯一的,而虚拟主机技术的发展使得一台服务器上可以有多个虚拟主机,它们可以共享同一个IP;
    • 错误状态:新增了24个错误状态码;
    • 缓存处理:引入Cache-Control、Etag/If-None-Match等;
    • 请求范围:新增了PUT、DELETE、OPTIONS等请求方法;
    http2.0
    • 二进制传输;
    • 多路复用:可以同时处理多个请求;
    • 头部压缩:请求头很多字段都是重复的,http2只需要根据索引id就可以进行传输,缩小了请求头的容量;
    • 服务器推送:服务器可以主动向客户端推送资源;
    https
    • https协议需要ca证书,而ca证书一般都需要一定的费用;
    • https是通过stl/ssl加密过的传输协议;
    • https端口是443,http是80;
    • https协议是加密传输、身份认证的协议,比较安全;
    https原理
    1. 客户端将自身支持的加密算法列表和一个随机数发送给服务器;
    2. 服务器从列表中选择一种加密算法;将身份信息和加密的公钥以证书的形式发送给客户端;
    3. 客户端对证书进行验证,验证通过后生成一个随机数(秘钥)并用证书中的公钥进行加密然后发送给服务器;
    4. 服务器用自己的私钥进行解密获取秘钥,将要发送的数据用秘钥进行加密然后发送给客户端;
    5. 客户端通过之前生成的秘钥进行解密获取数据;

    相关文章

      网友评论

          本文标题:理解http1.0、http1.1、http2.0和https

          本文链接:https://www.haomeiwen.com/subject/zvfcyhtx.html