计算机网络面经八股-HTTP1.0和HTTP1.1的区别?

  • 长连接:HTTP 1.1支持长连接(Persistent Connection)和请求的流水线(Pipelining)处理,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟,在HTTP1.1中默认开启Connection: keep-alive,一定程度上弥补了HTTP1.0每次请求都要创建连接的缺点。
  • 缓存处理:在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多的缓存控制策略,可供选择的缓存头来控制缓存策略。
  • 带宽优化及网络连接的使用:HTTP1.0中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,HTTP1.1则在请求头引入了range头域,它允许只请求资源的某个部分,即返回码是206(Partial Content),这样就方便了开发者自由的选择以便于充分利用带宽和连接。
  • 错误通知的管理:在HTTP1.1中新增了24个错误状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除。
  • Host头处理:在HTTP1.0中认为每台服务器都绑定一个唯一的IP地址,因此,请求消息中的URL并没有传递主机名(hostname)。但随着虚拟主机技术的发展,在一台物理服务器上可以存在多个虚拟主机(Multi-homed Web Servers),并且它们共享一个IP地址。HTTP1.1的请求消息和响应消息都应支持Host头域,且请求消息中如果没有Host头域会报告一个错误(400 Bad Request)。

1、HTTP 1.1支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理

HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。

HTTP 1.1则支持持久连接Persistent Connection, 并且默认使用persistent connection. 在同一个tcp的连接中可以传送多个HTTP请求和响应. 多个请求和响应可以重叠,多个请求和响应可以同时进行. 更加多的请求头和响应头(比如HTTP1.0没有host的字段).

2.HTTP 1.1增加host字段

在HTTP1.0中认为每台服务器都绑定一个唯一的IP地址,因此,请求消息中的URL并没有传递主机名(hostname)。但随着虚拟主机技术的发展,在一台物理服务器上可以存在多个虚拟主机(Multi-homed Web Servers),并且它们共享一个IP地址。

3、100(Continue) Status(节约带宽)

HTTP/1.1加入了一个新的状态码100(Continue)。客户端事先发送一个只带头域的请求,如果服务器因为权限拒绝了请求,就回送响应码401(Unauthorized);如果服务器接收此请求就回送响应码100,客户端就可以继续发送带实体的完整请求了。100 (Continue) 状态代码的使用,允许客户端在发request消息body之前先用request header试探一下server,看server要不要接收request body,再决定要不要发request body。

4.缓存处理

在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供选择的缓存头来控制缓存策略。

5.错误通知的管理

在HTTP1.1中新增了24个错误状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除。

相关推荐

  1. 计算机网络八股-HTTP1.0HTTP1.1区别?

    2024-03-13 11:38:03       19 阅读
  2. http https 区别

    2024-03-13 11:38:03       27 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-13 11:38:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-13 11:38:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-13 11:38:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-13 11:38:03       20 阅读

热门阅读

  1. CSS进阶空间转换和 less

    2024-03-13 11:38:03       15 阅读
  2. php7.3.4连接sqlserver(linux平台)

    2024-03-13 11:38:03       20 阅读
  3. 【Docker】APISIX Dashboard 容器化部署

    2024-03-13 11:38:03       18 阅读
  4. ubuntu 更换国内镜像源

    2024-03-13 11:38:03       21 阅读
  5. [element-ui] el-table组件滚动条的宽度设置

    2024-03-13 11:38:03       19 阅读
  6. 刨析目前市面上各注册中心产品的优劣势

    2024-03-13 11:38:03       17 阅读
  7. k8s Helm3详解 (部署,自定义,仓库,)

    2024-03-13 11:38:03       17 阅读
  8. vue3+elementPlus项目支持设置默认附件

    2024-03-13 11:38:03       18 阅读
  9. Kotlin Retrofit 网络请求

    2024-03-13 11:38:03       19 阅读
  10. Unity 地图数据生成

    2024-03-13 11:38:03       21 阅读
  11. Spring Boot- Validation

    2024-03-13 11:38:03       16 阅读
  12. LeetCode题练习与总结:搜索旋转排序数组

    2024-03-13 11:38:03       17 阅读
  13. 【leetcode热题】反转字符串中的单词

    2024-03-13 11:38:03       22 阅读