首页 > 其他分享 >转:http 1.1 and 1.0

转:http 1.1 and 1.0

时间:2022-11-21 13:05:48浏览次数:79  
标签:HTTP1.0 HTTP1.1 http 1.1 Section Request RFC 1.0 100


转:

 

HTTP1.1和HTTP1.0的区别

 

 

翻了下HTTP1.1的协议标准RFC2616,下面是看到的一些它跟HTTP1.0的差别。

 

Persistent Connection(持久连接)

 

在HTTP1.0中,每对Request/Response都使用一个新的连接。

 

HTTP 1.1则支持Persistent Connection, 并且默认使用persistent connection.

 

 

Host 域

 

HTTP1.1在Request消息头里头多了一个Host域,比如:

 

       GET /pub/WWW/TheProject.html HTTP/1.1

       Host: ​​www.w3.org​

 

   HTTP1.0则没有这个域。

   可能HTTP1.0的时候认为,建立TCP连接的时候已经指定了IP地址,这个IP地址上只有一个host。

 

date/time stamp (日期时间戳)

 

(接收方向)

无论是HTTP1.0还是HTTP1.1,都要能解析下面三种date/time stamp:

 

      Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123

      Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036

      Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format

 

(发送方向)
    HTTP1.0要求不能生成第三种asctime格式的date/time stamp;

    HTTP1.1则要求只生成RFC 1123(第一种)格式的date/time stamp。

 

 

 

Transfer Codings

 

HTTP1.1支持chunked transfer,所以可以有Transfer-Encoding头部域:

Transfer-Encoding: chunked

 

   HTTP1.0则没有。

 

 

Quality Values

 

HTTP1.1多了个qvalue域:

 

       qvalue         = ( "0" [ "." 0*3DIGIT ] )

                      | ( "1" [ "." 0*3("0") ] )

 

 

Entity Tags

  

用于Cache。

 

 

Range 和 Content-Range

 

HTTP1.1支持传送内容的一部分。比方说,当客户端已经有内容的一部分,为了节省带宽,可以只向服务器请求一部分。

 

 

100 (Continue) Status

 

100 (Continue) 状态代码的使用,允许客户端在发request消息body之前先用request header试探一下server,看server要不要接收request body,再决定要不要发request body。

客户端在Request头部中包含

Expect: 100-continue

Server看到之后呢如果回100 (Continue) 这个状态代码,客户端就继续发request body。

 

这个是HTTP1.1才有的。

 

 

Request method

 

HTTP1.1增加了OPTIONS, PUT, DELETE, TRACE, CONNECT这些Request方法.

 

       Method         = "OPTIONS"                ; Section 9.2

                      | "GET"                    ; Section 9.3

                      | "HEAD"                   ; Section 9.4

                      | "POST"                   ; Section 9.5

                      | "PUT"                    ; Section 9.6

                      | "DELETE"                 ; Section 9.7

                      | "TRACE"                  ; Section 9.8

                      | "CONNECT"                ; Section 9.9

                      | extension-method

       extension-method = token

 

 

Status code

 

  HTTP1.1 增加的新的status code:

 

(HTTP1.0没有定义任何具体的1xx status code, HTTP1.1有2个)

100 Continue

101 Switching Protocols

 

203 Non-Authoritative Information

205 Reset Content

206 Partial Content

 

302 Found (在HTTP1.0中有个 302 Moved Temporarily)

303 See Other

305 Use Proxy

307 Temporary Redirect

 

405 Method Not Allowed

406 Not Acceptable

407 Proxy Authentication Required

408 Request Timeout

409 Conflict

410 Gone

411 Length Required

412 Precondition Failed

413 Request Entity Too Large

414 Request-URI Too Long

415 Unsupported Media Type

416 Requested Range Not Satisfiable

417 Expectation Failed

 

504 Gateway Timeout

505 HTTP Version Not Supported

 

 

 

Content Negotiation

 

    HTTP1.1增加了Content Negotiation,分为Server-driven Negotiation,Agent-driven Negotiation和Transparent Negotiation三种。

 

 

Cache (缓存)

 

标签:HTTP1.0,HTTP1.1,http,1.1,Section,Request,RFC,1.0,100
From: https://blog.51cto.com/u_15458282/5873540

相关文章

  • go1.18泛型初体检
    在Gov1.18中,Go语言新增三个功能,分别是“泛型”、“模糊测试”和“工作区”。本文我们介绍Go社区呼声最高的“泛型”的使用方式。02 引言读者朋友们应该了解......
  • 【Jmeter】21天打卡 08之取样器之http请求方法get/delete/put之间的请求
    1.新建测试计划-线程组-取样器(http请求三个,分别为get请求,put请求,delete请求)-添加监听器(查看结果树)2.在get请求中输入www.httpbin.org,接口为get,请求方法为:get请求内容:ge......
  • 【Ajax】全面了解http协议
    ✍️作者简介:前端新手学习中。......
  • 【Jmeter】21天打卡 07之练习项目:httpbin.org
    1.新建测试计划-线程组-取样器(http请求)-添加监听器(查看结果树)2.在http请求中输入www.httpbin.org,接口为get,请求方法为:get请求内容:name=IDO,如图13.查看结果树,如图2 ......
  • 上周热点回顾(11.14-11.20)
    热点随笔:· SpringBoot框架下实现Excel服务端导入导出 (葡萄城技术团队)· 当xxl-job遇上docker→它晕了,我也乱了! (青石路)· C#多线程(三)线程高级篇 (xiaolip......
  • Web 性能优化:HTTP
    个人博客Web性能优化:TCPWeb性能优化:TLS⚓Web性能优化:HTTP以Web应用为代表的互联网肇始于1991年TimBerners-Lee提出的HTTP/0.9协议,经过30多年的发展,伴......
  • 【Jmeter】21天打卡 05之配置元件之http信息头+Cookie管理器
    新建测试计划-线程组-取样器(http请求)-添加监听器(查看结果数)在http请求中输入www.baidu.com,查看结果树请求中的requestheaders头部字段包括如图1   Connectionk......
  • DataEase v1.17.0 Windows开发环境搭建
    主要参考官方文档:https://dataease.io/docs/dev_manual/dev_manual/,以下为搭建过程中的一些主要步骤及注意事项: 一、开发环境准备:后端:JDK8、Mysql5.7、Maven3,DataE......
  • Nginx For Windows HTTP转发和负载
    NginxForWindowsHTTP转发和负载​​一、需求说明​​​​二、配置文件​​一、需求说明使用Nginx进行端口转发,并且负载到两台服务器的服务上。监控本地服务器的9099端......
  • 考研记录Week26【11.14~11.20】
    一、本周总结:使用时间:总计14h21min,政治8h10min,英语6h11min.完成任务:英语:1.真题复习政治:1.肖秀荣8套卷完成7套卷二、下周规划:数学:1.【高数强化】高数辅导讲义+【线代强化......