HTTP协议报头信息详细讲解

合集下载

HTTP协议简介

HTTP协议简介

HTTP协议简介关于HTTP协议的基本介绍。

HTTP协议是基于TCP/IP协议之上的应⽤层协议,主要⽤于规定互使⽤联⽹中客户端和服务器之间的通信格式,不关⼼具体传输细节,默认80端⼝。

对于Web开发,不管是前端还是后端开发,了解HTTP协议是必备的⼀些基本知识。

发展历程HTTP/0.9于1991年发布,只有⼀个GET命令,返回HTML格式内容。

HTTP/1.0于1996年5⽉发布,增加POST、HEAD命令,传输内容可以说任意格式,不再仅限于HTML,并且报⽂规定了⼀些元数据字段,⽐如字符集、状态码、编码、缓存等。

HTTP/1.1于1997年1⽉发布,增加PUT\PATCH\DELETE等命令,并新增了⼀些功能机制:持久连接(keep-alive可保持长连接,减少重复请求)。

管道机制(pipelining,⼀个TCP连接中客户端可同时发送多个请求)。

Content-Length字段(报⽂内容长度)。

Host字段(⽤于指定服务器域名,可以将请求发往同⼀台服务器的不同站点)。

1.1版本基本完善了HTTP协议,并且⼀直使⽤⾄今仍然是⽬前最流⾏的版本。

SPDY于2009年由⾕歌研发,使⽤多种新特性提⾼HTTP/1.1版本效率不⾼的问题。

作为HTTP/2版本草案,在HTTP/2发布后已停⽌使⽤。

HTTP/2于2015年发布,基于⾕歌的SPDY协议之上进⾏了⼩部分修改。

主要有以下特点:⼆进制协议(HTTP/1.1版本头信息使⽤⽂本格式,数据体可以是⽂本或⼆进制格式,⽽HTTP/2版本则全部使⽤⼆进制格式,⽅便将来扩展)。

多⼯传输(复⽤TCP连接,双向实时通信,客户端服务器可同时发送多个请求和响应,并且不需要按照请求顺序回应,避免队头阻塞问题)。

头信息压缩(HTTP协议是⽆状态的,因此很多请求都需要带上Cookie、User Agent等重复字段,影响效率。

HTTP/2使⽤gzip、compress等算法压缩头信息后,并且在客户端和服务器都维护⼀张头信息表,记录这些字段,从⽽提⾼速度)。

HTTP中header头部信息详解

HTTP中header头部信息详解

HTTP中header头部信息详解HTTP Request的Header信息1、HTTP请求⽅式如下表:GET向Web服务器请求⼀个⽂件POST向Web服务器发送数据让Web服务器进⾏处理PUT向Web服务器发送数据并存储在Web服务器内部HEAD检查⼀个对象是否存在DELETE从Web服务器上删除⼀个⽂件CONNECT对通道提供⽀持TRACE跟踪到服务器的路径OPTIONS查询Web服务器的性能说明:主要使⽤到“GET”和“POST”。

实例:POST /test/tupian/cm HTTP/1.1分成三部分:1. POST:HTTP请求⽅式2. /test/tupian/cm:请求Web服务器的⽬录地址(或者指令)3. HTTP/1.1: URI(Uniform Resource Identifier,统⼀资源标识符)及其版本备注:在Ajax中,对应method属性设置。

2、Host说明:请求的web服务器域名地址3、User-Agent说明:HTTP客户端运⾏的浏览器类型的详细信息。

通过该头部信息,web服务器可以判断到当前HTTP请求的客户端浏览器类别。

实例:User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.114、Accept说明:指定客户端能够接收的内容类型,内容类型中的先后次序表⽰客户端接收的先后次序。

例如:Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5备注:在Prototyp(1.5)的Ajax代码封装中,将Accept默认设置为“text/javascript, text/html, application/xml, text/xml, */*”。

HTTP协议简述

HTTP协议简述

HTTP协议简述前⾔HTTP协议是整个Web的基础,是客户端和服务器端协同⼯作的基⽯,要想了解Web的⼯作原理、优化Web应⽤,就要完全理解HTTP协议。

HTTP的操作过程1 ,浏览器分析指向页⾯的URL2 ,浏览器向DNS系统请求解析域名所对应的服务器IP地址3 ,DNS系统解析出服务器的IP,并返回给主机4 ,浏览器与该服务器的进程建⽴TCP链接(三次握⼿,端⼝默认为80)5 ,浏览器发出HTTP请求:如GET /article/index.html6 ,服务器收到请求并作出相应处理,把⽂件index.html发送给浏览器7 ,释放TCP链接(四次握⼿)8 ,浏览器解析index.html⽂件,将web页显⽰出来。

HTTP协议的特点HTTP协议是⽆状态的,即多次访问⼀个服务器上的页⾯,服务器并不知道你曾经访问过,每次访问的响应都当做第⼀次访问⼀样。

所以,在实际应⽤中,通常使⽤CooKie加数据库的⽅式记录和跟踪⽤户的活动。

HTTP有⾮持久连接和持久连接:采⽤⾮持久连接时,⽹页的每个元素对象(如.png,jpeg图等)的传输都需单独建⽴⼀个TCP连接(第三次握⼿可携带请求信息)采⽤持久连接时,仅需建⽴⼀次TCP连接,服务器发送响应后仍保持连接,客户和服务器可以继续在这条连接上发送请求和响应报⽂。

Cookie以及其作⽤CooKie是由服务器⽣成,但存储在⽤户主机上的⽂本⽂件,它保存了服务器和客户之间传递的状态信息,作为识别⽤户的⼿段。

通过Cookie服务器就能从数据库中查询该⽤户的活动记录,进⽽可以执⾏⼀些个性化操作get和post⽅法的区别:⼀般我们在浏览器输⼊⼀个⽹址访问⽹站都是GET请求;在FORM表单中,可以通过设置Method指定提交⽅式为GET或POST,默认时为GET提交⽅式。

get请求⼀般不会修改服务器的信息,仅⽤于请求页⾯;post请求可能会修改服务器中的资源信息,如提交评论、博客等都是通过post请求实现。

HTTP协议详解(深入理解)

HTTP协议详解(深入理解)

HTTP协议详解(深⼊理解)引⼊超⽂本传输协议(HTTP,HyperText Transfer Protocol)是互联⽹上应⽤最为⼴泛的⼀种⽹络协议。

所有的WWW⽂件都必须遵守这个标准。

设计HTTP最初的⽬的是为了提供⼀种发布和接收HTML页⾯的⽅法。

1960年美国⼈Ted Nelson构思了⼀种通过计算机处理⽂本信息的⽅法,并称之为超⽂本(hypertext),这成为了HTTP超⽂本传输协议标准架构的发展根基。

Ted Nelson组织协调万维⽹协会(World Wide Web Consortium)和互联⽹⼯程⼯作⼩组(Internet Engineering Task Force )共同合作研究,最终发布了⼀系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。

http协议的作⽤及特点HTTP是⼀个客户端和服务器端请求和应答的标准(TCP)。

客户端是终端⽤户,服务器端是⽹站。

通过使⽤Web浏览器、⽹络爬⾍或者其它的⼯具,客户端发起⼀个到服务器上指定端⼝(默认端⼝为80)的HTTP请求。

(我们称这个客户端)叫⽤户代理(user agent)。

应答的服务器上存储着(⼀些)资源,⽐如HTML⽂件和图像。

(我们称)这个应答服务器为源服务器(origin server)。

在⽤户代理和源服务器中间可能存在多个中间层,⽐如代理,⽹关,或者隧道(tunnels)。

尽管TCP/IP协议是互联⽹上最流⾏的应⽤,HTTP协议并没有规定必须使⽤它和(基于)它⽀持的层。

事实上,HTTP可以在任何其他互联⽹协议上,或者在其他⽹络上实现。

HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使⽤。

通常,由HTTP客户端发起⼀个请求,建⽴⼀个到服务器指定端⼝(默认是80端⼝)的TCP连接。

HTTP服务器则在那个端⼝监听客户端发送过来的请求。

⼀旦收到请求,服务器(向客户端)发回⼀个状态⾏,⽐如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的⽂件、错误消息、或者其它⼀些信息。

HTTP 报头,Content-disposition

HTTP 报头,Content-disposition

当然filename参数可以包含路径信息,但User-Agnet会忽略掉这些信息,只会把路径信息的最后一部分做为文件名。当你在响应类型为 application/octet- stream情况下使用了这个头信息的话,那就意味着你不想直接显示内容,而是弹出一个”文件下载”的对话框,接下来就是由你来决定“打开”还是“保存” 了。
////attachment --- 作为附件下载
////inline --- 在线打开
HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
byte[] fileBuffer = new byte[fileSize];
将上述需求进行归我给出如下例子代码:
public static void ToDownload(string serverfilpath,string filename)
{
FileStream fileStream = new FileStream(serverfilpath, FileMode.Open);
w3c的说明:/Protocols/rfc2616/rfc2616-sec19.html
Content-Disposition的使用和注意事项
2008年08月27日 星期三 下午 07:21Content-Disposition的使用和注意事项
最近不少Web技术圈内的朋友在讨论协议方面的事情,有的说web开发者应该熟悉web相关的协议,有的则说不用很了解。个人认为这要分层次来看待这个问 题,对于一个新手或者刚入门的web开发人员而言,研究协议方面的东西可能会使得web开发失去趣味性、抹煞学习积极性,这类人应该更多的了解基本的 Web技术使用。而对于在该行业工作多年的老鸟来说,协议相关的内容、标准相关内容应该尽量多些的了解,因为只有这样才能使得经手的web系统更加优秀 (安全、漂亮、快速、兼容性好、体验好……)。本文我们来说一下MIME 协议的一个扩展Content-disposition。

http报文常见的请求头、响应头

http报文常见的请求头、响应头

http报⽂常见的请求头、响应头http报⽂常见的请求头1.AcceptAccept: text/html 浏览器可以接受服务器回发的类型为 text/html。

Accept: /代表浏览器可以处理所有类型,(⼀般浏览器发给服务器都是发这个)。

2.Accept-EncodingAccept-Encoding: gzip, deflate 浏览器申明⾃⼰接收的编码⽅法,通常指定压缩⽅法,是否⽀持压缩,⽀持什么压缩⽅法(gzip,deflate),(注意:这不是只字符编码)。

3.Accept-LanguageAccept-Language:zh-CN,zh;q=0.9 浏览器申明⾃⼰接收的语⾔。

4.ConnectionConnection: keep-alive 当⼀个⽹页打开完成后,客户端和服务器之间⽤于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的⽹页,会继续使⽤这⼀条已经建⽴的连接。

Connection: close 代表⼀个Request完成后,客户端和服务器之间⽤于传输HTTP数据的TCP连接会关闭,当客户端再次发送Request,需要重新建⽴TCP连接。

5.Host(发送请求时,该报头域是必需的)Host: 请求报头域主要⽤于指定被请求资源的Internet主机和端⼝号,它通常从HTTP URL中提取出来的。

6.Refererer-AgentUser-Agent:Mozilla/...,告诉HTTP服务器,客户端使⽤的操作系统和浏览器的名称和版本。

8.Cache-ControlCache-Control:private 默认为private 响应只能够作为私有的缓存,不能再⽤户间共享Cache-Control:public 响应会被缓存,并且在多⽤户间共享。

正常情况, 如果要求HTTP认证,响应会⾃动设置为 private.Cache-Control:must-revalidate 响应在特定条件下会被重⽤,以满⾜接下来的请求,但是它必须到服务器端去验证它是不是仍然是最新的。

HTTP协议的头部

HTTP协议的头部

HTTP协议的头部HTTP⾸部字段有四种类型:通⽤⾸部字段,请求⾸部字段,响应⾸部字段,实体⾸部字段。

通⽤⾸部字段:⾸部字段说明Cache-Control控制缓存的⾏为Connection逐跳⾸部、连接的管理Date创建报⽂的⽇期时间Pragma报⽂指令Trailer报⽂末端的⾸部⼀览Transfer-Encoding指定报⽂主体的传输编码⽅式Upgrade升级为其他协议Via代理服务器的相关信息Warning错误通知请求⾸部字段:⾸部字段说明Accept⽤户代理的媒体类型Accept-Charset优先的字符集Accept-Encoding优先的内容编码Accept-Language优先的语⾔Authorization Web认证信息Expect期待服务器的特定⾏为From⽤户的电⼦邮件Host请求资源所在服务器if-Match⽐较实体标记(ETag)if-Modified-Since⽐较资源的更新时间if-None-Match⽐较实体标记(与if-Match相反)if-Range资源未更新时发送实体Byte的范围请求if-Unmodified-Since⽐较资源的更新时间(与if-Modified-Since想法)Max-Forwards最⼤传输逐跳Proxy-Authorization代理服务器要求客户端的认证信息Range实体的字节范围请求Refer对请求中URI的原始获取⽅TE传输编码的优先级User-Agent HTTP客户端的信息响应⾸部字段:⾸部字段说明Accept-Ranges是否接受字节范围请求Age推算资源创建经过时间⾸部字段说明ETag资源匹配信息Location令客户端重定向⾄指定URIProxy-Authenticate代理服务器对客户端的认证信息Retry-After对再次发起请求的时机要求Server HTTP服务器的安装信息Vary代理服务器缓存的管理信息WWW-Authenticate服务器对客户端的认证信息实体⾸部字段:⾸部字段说明Allow资源可⽀持的HTTP⽅法Content-Encoding实体主体适⽤的编码⽅式Content-Language实体主体的⾃然语⾔Content-Length实体主体的⼤⼩Content-Location替代对饮资源的URIContent-MD5实体主体的报⽂摘要Content-Range实体主体的位置范围Content-Type实体主体的媒体类型Expires实体主体过期的⽇期时间Last-Modified资源的最后修改⽇期时间HTTP⾸部字段将定义成缓存代理和⾮缓存代理两种类型:端到端(End-to-end Header):此类中的⾸部字段会转发给请求/响应对应的最终接受⽬标,且必须在由缓存⽣成的响应中,另外规定它必须被转发。

HTTP请求格式:请求行、请求头详细介绍【爬虫工程师必会】

HTTP请求格式:请求行、请求头详细介绍【爬虫工程师必会】

在网络传输中HTTP协议非常重要,该协议规定了客户端和器端请求和应答的标准HTTP协议能保证计算机正确快速地传输超文本文档,并确定了传输文档中的哪部分,以及哪部分内容首先显示(如文本先于图形)等。

根据HTTP协议的规定,客户端一个HTTP请求到器的请求消息,由请求行,求头部、空行以及请求数据四部分组成。

如下所示为请求消息的一般格式。

结合一个典型的HTTP请求示例,详细介绍HTTP请求信息的各个组成部分。

示例内容如下:GEThttps://www.baidu./content-search.xmlHTTP/1.1Host:www.baidu.Connection:keep-aliveSec-Fetch-Site:same-originSec-Fetch-Mode:no-corsUser-Agent:Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,lik eGecko)Chrome/78.0.3904.108Safari/537.36Accept-Encoding:gzip,deflate,brAccept-Language:zh-CN,zh;q=0.9Cookie:BIDUPSID=12D4BD8584CA4E016E061A2A996EF369;PSTM=1620090350;BAIDUI D=12D4BD8584CA4E01C03BA560AACCF2CE:FG=1;BD_UPN=12314753;H_PS_PSSID=3398 4_31660_33848_33759_33676_33607_33987_26350;BDORZ=B490B5EBF6F3CD402E515 D22BCDA1598;__yjs_duid=1_1a965d65ab35181f7b7b98cce26990951620094330751; ab_sr=1.0.0_YjM2Y2YwOWI1MDU4ZDEzODMyZDZkNDBlODllOWEzZTdiMjk4YzgzYmUyM2Z jODA4MWM0MDExZTdiMDZlOTQwOWZhMWI0NGQ3NzNhODI2NTYzMWM1NzQ2ZDBmYjhkM2Q1;i speed_lsm=0;H_PS_645EC=b177fVn0%2Brl2KczNrCfwRaWGfk3JZzrl7ScjgHBcxVvOku bEWrAPvQ6AXa4;BD_HOME=1;__guid=136081015.3970791550720005000.1620116535 606.869;monitor_count=2;BA_HECTOR=8121a4848h8l0k0l6o1g9213e0r1.请求行上例中第1行为请求行,包含了请求方法、URL和协议版本,代码如下:GEThttps://www.baidu./content-search.xmlHTTP/1.1其中,GET请求方法,https://www.baidu/URL,HTTP/1.1指定了协议版本。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

对HTTP协议的头信息详解HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细容请参考RFC2616。

HTTP协议采用了请求/响应模型。

客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和容的类似于MIME的消息结构。

服务器以一个状态行作为响应,相应的容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体容。

通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。

这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。

HTTP的头域包括通用头,请求头,响应头和实体头四个部分。

每个头域由一个域名,冒号(:)和域值三部分组成。

域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。

通用头域通用头域包含请求和响应消息都支持的头域,通用头域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。

对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。

下面简单介绍几个在UPnP消息中使用的通用头域。

Cache-Control头域Cache -Control指定请求和响应遵循的缓存机制。

在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。

请求时的缓存指令包括no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age。

各个消息中的指令含义如下:Public指示响应可被任何缓存区缓存。

Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。

这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。

no-cache指示请求或响应消息不能缓存no-store用于防止重要的信息被无意的发布。

在请求消息中发送将使得请求和响应消息都不使用缓存。

max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。

min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。

max-stale指示客户机可以接收超出超时期间的响应消息。

如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之的响应消息。

Date头域Date头域表示消息发送的时间,时间的描述格式由rfc822定义。

例如,Date:Mon,31Dec200104:25:57GMT。

Date描述的时间表示世界标准时,换算成本地时间,需要知道用户所在的时区。

Pragma头域Pragma头域用来包含实现特定的指令,最常用的是Pragma:no-cache。

在HTTP/1.1协议中,它的含义和Cache- Control:no-cache相同。

请求消息请求消息的第一行为下面的格式:MethodSPRequest-URISPHTTP-VersionCRLFMethod 表示对于Request-URI完成的方法,这个字段是大小写敏感的,包括OPTIONS、GET、HEAD、POST、PUT、DELETE、 TRACE。

方法GET和HEAD应该被所有的通用WEB服务器支持,其他所有方法的实现是可选的。

GET方法取回由Request-URI标识的信息。

HEAD方法也是取回由Request-URI标识的信息,只是可以在响应时,不返回消息体。

POST方法可以请求服务器接收包含在请求中的实体信息,可以用于提交表单,向新闻组、BBS、群组和数据库发送消息。

SP表示空格。

Request-URI遵循URI格式,在此字段为星号(*)时,说明请求并不用于某个特定的资源地址,而是用于服务器本身。

HTTP- Version表示支持的HTTP版本,例如为HTTP/1.1。

CRLF表示换行回车符。

请求头域允许客户端向服务器传递关于请求或者关于客户机的附加信息。

请求头域可能包含下列字段Accept、Accept-Charset、Accept- Encoding、Accept-Language、Authorization、From、Host、If-Modified-Since、If- Match、If-None-Match、If-Range、If-Range、If-Unmodified-Since、Max-Forwards、Proxy-Authorization、Range、Referer、User-Agent。

对请求头域的扩展要求通讯双方都支持,如果存在不支持的请求头域,一般将会作为实体头域处理。

典型的请求消息:GET download.microtool.de:80/somedata.exeHost: download.microtool.deAccept:*/*Pragma: no-cacheCache-Control: no-cacheReferer: download.microtool.de/User-Agent:Mozilla/4.04[en](Win95;I;Nav)Range:bytes=554554-上例第一行表示HTTP客户端(可能是浏览器、下载程序)通过GET方法获得指定URL 下的文件。

棕色的部分表示请求头域的信息,绿色的部分表示通用头部分。

Host头域Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。

HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。

Referer头域Referer 头域允许客户端指定请求uri的源资源地址,这可以允许服务器生成回退链表,可用来登陆、优化cache等。

他也允许废除的或错误的连接由于维护的目的被追踪。

如果请求的uri没有自己的uri地址,Referer不能被发送。

如果指定的是部分uri地址,则此地址应该是一个相对地址。

Range头域Range头域可以请体的一个或者多个子围。

例如,表示头500个字节:bytes=0-499表示第二个500字节:bytes=500-999表示最后500个字节:bytes=-500表示500字节以后的围:bytes=500-第一个和最后一个字节:bytes=0-0,-1同时指定几个围:bytes=500-600,601-999但是服务器可以忽略此请求头,如果无条件GET包含Range请求头,响应会以状态码206(PartialContent)返回而不是以200 (OK)。

User-Agent头域User-Agent头域的容包含发出请求的用户信息。

响应消息响应消息的第一行为下面的格式:HTTP-VersionSPStatus-CodeSPReason-PhraseCRLFHTTP -Version表示支持的HTTP版本,例如为HTTP/1.1。

Status- Code是一个三个数字的结果代码。

Reason-Phrase给Status-Code提供一个简单的文本描述。

Status-Code 主要用于机器自动识别,Reason-Phrase主要用于帮助用户理解。

Status-Code的第一个数字定义响应的类别,后两个数字没有分类的作用。

第一个数字可能取5个不同的值:1xx:信息响应类,表示接收到请求并且继续处理2xx:处理成功响应类,表示动作被成功接收、理解和接受3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理4xx:客户端错误,客户请求包含语法错误或者是不能正确执行5xx:服务端错误,服务器不能正确执行一个正确的请求响应头域允许服务器传递不能放在状态行的附加信息,这些域主要描述服务器的信息和 Request-URI进一步的信息。

响应头域包含Age、Location、Proxy-Authenticate、Public、Retry- After、Server、Vary、Warning、WWW-Authenticate。

对响应头域的扩展要求通讯双方都支持,如果存在不支持的响应头域,一般将会作为实体头域处理。

典型的响应消息:HTTP/1.0200OKDate:Mon,31Dec200104:25:57GMTServer:Apache/1.3.14(Unix)Content-type:text/htmlLast-modified:Tue,17Apr200106:46:28GMTEtag:"a030f020ac7c01:1e9f"Content-length:39725426Content-range:bytes5549/40279980上例第一行表示HTTP服务端响应一个GET方法。

棕色的部分表示响应头域的信息,绿色的部分表示通用头部分,红色的部分表示实体头域的信息。

Location响应头Location响应头用于重定向接收者到一个新URI地址。

Server响应头Server响应头包含处理请求的原始服务器的软件信息。

此域能包含多个产品标识和注释,产品标识一般按照重要性排序。

实体请求消息和响应消息都可以包含实体信息,实体信息一般由实体头域和实体组成。

实体头域包含关于实体的原信息,实体头包括Allow、Content- Base、Content-Encoding、Content-Language、 Content-Length、Content-Location、Content-MD5、Content-Range、Content-Type、 Etag、Expires、Last-Modified、extension-header。

extension-header允许客户端定义新的实体头,但是这些域可能无法未接受方识别。

实体可以是一个经过编码的字节流,它的编码方式由Content-Encoding或Content-Type定义,它的长度由Content-Length或Content-Range定义。

Content-Type实体头Content-Type实体头用于向接收方指示实体的介质类型,指定HEAD方法送到接收方的实体介质类型,或GET方法发送的请求介质类型 Content-Range实体头Content-Range实体头用于指定整个实体中的一部分的插入位置,他也指示了整个实体的长度。

相关文档
最新文档