• http1.0 1.1 2.0 3.0 https 的区别


    http1.0 与 http1.1 的区别

    1. 连接方面,http1.0使用短连接,http1.1使用长链接,复用一个tcp链接进行多个http请求,避免了多次重复建立链接的资源浪费
    2. 资源请求方面,http1.0 只能获取全部对象,即使我们只是想要资源的某一部分。而http1.1使用range请求头和206(partial content)状态码,支持获取部分对象,方便开发者自由地选择以便于充分利用带宽。
    3. 缓存方面,http1.0用的是expires来设置一个绝对的过期时间。http1.1新增了Cache-Control,If-Modified-Since/Last-Modified, If-None-Match/Etag 来判断缓存是否过期
    4. 请求方面,http1.0只有get, http1.1新增了 put head options等
    5. http1.1新增了host字段,可以将请求发送到同一台服务器的不同虚拟机

    http2.0与http1.1的区别

    1. 二进制协议 http2.0是一个完全二进制的协议,http1中请求体必须是文本,请求体可以使文本或二进制,在HTTP2中全是二进制
    2. 多路复用 http2.0 复用tcp链接,在一个链接上客户端或服务器可同时发送多个请求或响应,避免了队头阻塞问题。每个请求都是数据流,以数据流id的形式区分不同的数据流。
    3. 头信息压缩 http1.0是无状态的链接,因此请求头包含很多重复的信息。2.0中,对于头部信息会通过gzip或compress压缩后发送。另外,服务器和客户端会各自维持一张头部信息表,所有字段都会存入这张表,后面只需要发送表的索引好就信了
    4. 服务端推送。 http1 中, 请求只能由客户端发起,在2.0中可以由服务端主动推送给客户端资源,这里指的是静态资源,与websocket全双工通信发送的即时数据是有区别的

    http2.0 与 http3.0的区别

    1. http3.0基于UDP,是没有队头组阻塞的多路复用(http2.0 基于tcp, 会出现丢包阻塞时等待重传,tcp重传分为超时重传和快速重传)
    2. 前向纠错,Forward Error Connection。每个包的除了包括自身内容之外,还包括其他包的内容,少量的丢包可以通过其他包的冗余数据直接组装而非重传。

    http与https的区别

    1. 多了一层ssl层,对数据进行加密,在一定程度上保障了数据安全性;http是超文本协议,明文传输
    2. https默认端口是443,http默认端口是80
    3. https需要CA证书,费用高,http不需要
  • 相关阅读:
    shell中的交互模式:expect
    hive(II)--sql考查的高频问题
    ETL工具--kettle篇(17.10.09更新)
    hive(I)--学习总结之常用技能
    ubantu上搭建hive环境
    shell实例练习+详解
    搭建hadoop、hdfs环境--ubuntu(完全分布式)
    oracle 获取一个字段的年月日
    oracle 两表更新 报错ORA-01779: 无法修改与非键值保存表对应的列
    oracle 查看表空间 添加数据文件
  • 原文地址:https://www.cnblogs.com/ltfxy/p/16323749.html
Copyright © 2020-2023  润新知