http头部信息http头部信息总结

http头部信息http头部信息总结
http头部信息http头部信息总结

最全的HTTP头部信息分析

HTTP 头部解释

1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。

2. Accept-Charset:浏览器申明自己接收的字符集

Accept-Encoding:浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate)

Accept-Language:浏览器申明自己接收的语言语言跟字符集的区别:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等。

3. Accept-Ranges:WEB服务器表明自己是否接受获取其某个实体的一部分(比如文件的一部分)的请求。bytes:表示接受,none:表示不接受。

4. Age:当代理服务器用自己缓存的实体去响应请求时,用该头部表明该实体从产生到现在经过多长时间了。

5. Authorization:当客户端接收到来自WEB服务器的WWW-Authenticate 响应时,该头部来回应自己的身份验证信息给WEB服务器。

6. Cache-Control:

请求:no-cache(不要缓存的实体,要求现在从WEB服务器去取)

max-age:(只接受Age 值小于max-age 值,并且没有过期的对象)

max-stale:(可以接受过去的对象,但是过期时间必须小于max-stale 值)

min-fresh:(接受其新鲜生命期大于其当前Age 跟min-fresh 值之和的缓存对象)

响应:public(可以用Cached 内容回应任何用户)

private(只能用缓存内容回应先前请求该内容的那个用户)

no-cache(可以缓存,但是只有在跟WEB服务器验证了其有效后,才能返回给客户端) max-age:(本响应包含的对象的过期时间)

ALL: no-store(不允许缓存)

7. Connection:

请求:

close(告诉WEB服务器或者代理服务器,在完成本次请求的响应后,断开连接,不要等待本次连接的后续请求了)。

keepalive(告诉WEB服务器或者代理服务器,在完成本次请求的响应后,保持连接,等待本次连接的后续请求)。

响应:

close(连接已经关闭)。

keepalive(连接保持着,在等待本次连接的后续请求)。

Keep-Alive:如果浏览器请求保持连接,则该头部表明希望WEB 服务器保持连接多长时间(秒)。例如:Keep-Alive:300

8. Content-Encoding:WEB服务器表明自己使用了什么压缩方法(gzip,deflate)压缩响应中的对象。例如:Content-Encoding:gzip

Content-Language:WEB 服务器告诉浏览器自己响应的对象的语言。

Content-Length:WEB 服务器告诉浏览器自己响应的对象的长度。

例如:Content-Length: 26012

Content-Range: WEB 服务器表明该响应包含的部分对象为整个对象的哪个部分。

例如:Content-Range: bytes 21010-47021/47022

Content-Type: WEB 服务器告诉浏览器自己响应的对象的类型。

例如:Content-Type:application/xml

9. ETag:就是一个对象(比如URL)的标志值,就一个对象而言,比如一个html 文件,

如果被修改了,其Etag 也会别修改,所以,ETag 的作用跟Last-Modified 的

作用差不多,主要供WEB 服务器判断一个对象是否改变了。

比如前一次请求某个html 文件时,获得了其ETag,当这次又请求这个文件时,

浏览器就会把先前获得的ETag 值发送给WEB 服务器,然后WEB 服务器

会把这个ETag 跟该文件的当前ETag 进行对比,然后就知道这个文件

有没有改变了。

10. Expired:WEB服务器表明该实体将在什么时候过期,对于过期了的对象,只有在

跟WEB服务器验证了其有效性后,才能用来响应客户请求。

是HTTP/1.0 的头部。

例如:Expires:Sat, 23 May 2009 10:02:12 GMT

11. Host:客户端指定自己想访问的WEB服务器的域名/IP 地址和端口号。

例如:Host:https://www.360docs.net/doc/f51389628.html,

12. If-Match:如果对象的ETag 没有改变,其实也就意味著对象没有改变,才执行请求的动作。

If-None-Match:如果对象的ETag 改变了,其实也就意味著对象也改变了,才执行请求的动作。

13. If-Modified-Since:如果请求的对象在该头部指定的时间之后修改了,才执行请求

的动作(比如返回对象),否则返回代码304,告诉浏览器该对象

没有修改。

例如:If-Modified-Since:Thu, 10 Apr 2008 09:14:42 GMT If-Unmodified-Since:如果请求的对象在该头部指定的时间之后没修改过,才执行

请求的动作(比如返回对象)。

14. If-Range:浏览器告诉WEB 服务器,如果我请求的对象没有改变,就把我缺少的部分给我,如果对象改变了,就把整个对象给我。浏览器通过发送请求对象的ETag 或者自己所知道的最后修改时间给WEB 服务器,让其判断对象是否改变了。总是跟Range 头部一起使用。

15. Last-Modified:WEB 服务器认为对象的最后修改时间,比如文件的最后修改时间,

动态页面的最后产生时间等等。

例如:Last-Modified:Tue, 06 May 2008 02:42:43 GMT

16. Location:WEB 服务器告诉浏览器,试图访问的对象已经被移到别的位置了,

到该头部指定的位置去取。

例如:Location:

https://www.360docs.net/doc/f51389628.html,/dy/deco/2008/0528/sinahome_0803_ws_005_text_0.gif

17. Pramga:主要使用Pramga: no-cache,相当于Cache-Control:no-cache。

例如:Pragma:no-cache

18. Proxy-Authenticate:代理服务器响应浏览器,要求其提供代理身份验证信息。

Proxy-Authorization:浏览器响应代理服务器的身份验证请求,提供自己的身份信息。

19. Range:浏览器(比如Flashget 多线程下载时)告诉WEB 服务器自己想取对象的哪部分。

例如:Range: bytes=1173546-

20. Referer:浏览器向WEB 服务器表明自己是从哪个网页/URL 获得/点击当前请求中的网址/URL。

例如:Referer:https://www.360docs.net/doc/f51389628.html,/

21. Server: WEB 服务器表明自己是什么软件及版本等信息。

例如:Server:Apache/2.0.61 (Unix)

22. User-Agent: 浏览器表明自己的身份(是哪种浏览器)。

例如:User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN;

rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

23. Transfer-Encoding: WEB 服务器表明自己对本响应消息体(不是消息体里面的对象)

作了怎样的编码,比如是否分块(chunked)。

例如:Transfer-Encoding: chunked

24. V ary: WEB服务器用该头部的内容告诉Cache 服务器,在什么条件下才能用本响应

所返回的对象响应后续的请求。假如源WEB服务器在接到第一个请求消息时,其响应消息的头部为:

Content-Encoding: gzip; V ary: Content-Encoding

那么Cache 服务器会分析后续请求消息的头部,检查其Accept-Encoding,是否跟先前响应的V ary 头部值一致,即是否使用相同的内容编码方法,这样就可以防止Cache 服务器用自己Cache 里面压缩后的实体响应给不具备解压能力的浏览器。

例如:V ary:Accept-Encoding

25. V ia:列出从客户端到OCS 或者相反方向的响应经过了哪些代理服务器,他们用

什么协议(和版本)发送的请求。

当客户端请求到达第一个代理服务器时,该服务器会在自己发出的请求里面

添加V ia 头部,并填上自己的相关信息,当下一个代理服务器收到第一个代理

服务器的请求时,会在自己发出的请求里面复制前一个代理服务器的请求的V ia

头部,并把自己的相关信息加到后面,以此类推,当OCS 收到最后一个代理服务器的请求时,检查V ia 头部,就知道该请求所经过的路由。

例如:V ia:1.0 236-81.D0*******https://www.360docs.net/doc/f51389628.html,:80 (squid/2.6.STABLE13)

====================================

HTTP 请求消息头部实例:

Host:https://www.360docs.net/doc/f51389628.html,

User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q =0.5

Accept-Language:zh-cn,zh;q=0.5

Accept-Encoding:gzip,deflate

Accept-Charset:gb2312,utf-8;q=0.7,*;q=0.7

Keep-Alive:300

Connection:keep-alive

Cookie:userId=C5bY pXrimdmsiQmsBPnE1Vn8ZQmdWSm3WRlEB3vRwTnRtW <-- Cookie If-Modified-Since:Sun, 01 Jun 2008 12:05:30 GMT

Cache-Control:max-age=0

HTTP 响应消息头部实例:

Status:OK - 200 <-- 响应状态码,表示web 服务器处理的结果。Date:Sun, 01 Jun 2008 12:35:47 GMT

Server:Apache/2.0.61 (Unix)

Last-Modified:Sun, 01 Jun 2008 12:35:30 GMT

Accept-Ranges:bytes

Content-Length:18616

Cache-Control:max-age=120

Expires:Sun, 01 Jun 2008 12:37:47 GMT

Content-Type:application/xml

Age:2

X-Cache:HIT from 236-41.D0*******https://www.360docs.net/doc/f51389628.html, <-- 反向代理服务器使用的HTTP 头部

Via:1.0 236-41.D0*******https://www.360docs.net/doc/f51389628.html,:80 (squid/2.6.STABLE13)

Connection:close

=====================================

HTTP头部信息简单说明

一、HTTP响应码响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行。

响应码分五种类型,由它们的第一位数字表示:

1xx:信息,请求收到,继续处理

2xx:成功,行为被成功地接受、理解和采纳

3xx:重定向,为了完成请求,必须进一步执行的动作

4xx:客户端错误,请求包含语法错误或者请求无法实现

5xx:服务器错误,服务器不能实现一种明显无效的请求

下表显示每个响应码及其含义:

二、HTTP头标头标由主键/值对组成。它们描述客户端或者服务器的属性、被传输的资源以及应该实现连接。四种不同类型的头标:头标格式::

HTTP协议的头信息详解

HTTP协议的头信息详解 HTTP协议的头信息详解 通常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相同。请求消息请求消息的第一行为下面的格式:

HTTP请求报头详解

HTTP头字段包括4类: general-header ; request-header ; response-header ; entity-header . ********************************************************************* ********** General Header Fields ============================= general header是request、response都可用的, 但是不能用于entity. --Cache-Control --Connection --Date --Pragma --Trailer --Transfer-Encoding --Upgrade --Via --Warning ********************************************************************* ********** Request Header Fields ====================== request-header fields 允许客户端传递关于request和客户端的附加信息到服务端, --Accept --Accept-Charset --Accept-Encoding --Accept-Language --Authorization --Expect --From --Host --If-Match --If-Modified-Since --If-None-Match --If-Range --If-Unmodified-Since

教你利用HTTP host头攻击的技术

利用HTTP host 头攻击的技术 2014-04-10 我来说两句 作者:龙臣 收藏 我要投稿 from:https://www.360docs.net/doc/f51389628.html,/2013/05/practical-http-host-header-at tacks.html 0x00 背景 一般通用web 程序是如果想知道网站域名不是一件简单的事情,如果用一个固 定的URI 来作为域名会有各种麻烦。开发人员一般是依赖HTTP Host header (比如 在php 里是_SERVER["HTTP_HOST"] ),而这个header 很多情况下是靠不住的。而 很多应用是直接把这个值不做html 编码便输出到了页面中,比如: ? 1 (Django, Gallery, others) 这样处理问题一般会很容易遭遇到两种常见的攻击:缓存污染和密码重置。缓 存污染是指攻击者通过控制一个缓存系统来将一个恶意站点的页面返回给用户。密 码重置这种攻击主要是因为发送给用户的内容是可以污染的,也就是说可以间接的 劫持邮件发送内容。 0x01 密码重置污染攻击 拿 Gallery 这个站来做例子。当我们进行密码重置的时候,网站会给我们发 送一个随机的key : ? 1 2 3 $user -> hash = random::hash() ; $message -> confirm_url = url::abs_site("password/do_reset?key=$user->hash") ;

IIS的主机头值和HTTP头

IIS的主机头值和HTTP头 主机头是绑定域名,没有域名不用设置主机头,所谓的主机头的叫法起自IIS中对域名绑定的功能,一般的web服务器一个ip地址的80端口只能正确对应一个网站,处理一个域名的访问请求。而web服务器在不使用多个ip地址和端口的情况下,如果需要支持多个相对独立的网站就需要一种机制来分辨同一个ip地址上的不同网站的请求,这就出现了主机头绑定的方法。简单的说就是,将不同的网站空间对应不同的域名,以连接请求中的域名字段来分发和应答正确的对应空间的文件执行结果。举个例子来说,一台服务器ip地址为192.168.1.10,有两个域名和对应的空间在这台服务器上,使用的都是192.168.1.10的80端口来提供服务。如果只是简单的将两个域名A和B的域名记录解析到这个ip地址,那么web服务器在收到任何请求时反馈的都会是同一个网站的信息,这显然达不到要求。接下来我们使用主机头绑定域名A和B到他们对应的空间文件夹C和D。当含有域名A的web请求信息到达192.168.1.10时,web服务器将执行它对应的空间C中的首页文件,并返回给客户端,含有域名B的web请求信息同理,只不过解释的是空间D的文件。所以在使用主机头绑定功能后就不能使用ip地址访问其上的任何网站了,因为请求信息中不存在域名信息,所以会出错。 在IIS中有一个叫主机头的概念,我们基本都已经掌握,还有一个叫HTTP 头的概念,有的同学已经问我这个问题,其实HTTP头更多的涉及到软件上的东东。 最直观的HTTP头就是当我们在FROTPAGE或DREAMWEAVER中每次新建一个HTML页面后,在这个页面的代码都会有这样一行代码: 其实这就是一个HTTP头信息,HTML页面开头都会有类似的这样一行代码。 那么到底是么是HTTP头呢?HTTP头分为HTTP请求头和HTTP应答头。HTTP 请求头为HTTP客户在浏览服务器上的主页时,向服务器发送请求的时候必须指明请求类型。请求类型是指HTTP-GET或HTTP-POST,每个HTTP-GET和HTTP-POST 都由一系列HTTP请求头组成,这些请求头定义了客户端从服务器请求了什么,而响应则是由一系列HTTP应答头和应答数据组成,如果请求成功则返回应答。 我的理解:每次客户端通过IE向服务器请求访问一个页面时总是使用HTTP 的请求头发送GET类型或POST类型的HTTP请求头.服务器在发送应答时,发送的是HTTP应答请求。 请求头和应答具体有哪些标识,我们不详细讲了,自己看以下内容: HTTP请求头概述(HttpServletRequest) HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST)。如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说Content-Length必须出现。 下面是一些最常见的请求头

Http各种请求头的备注

HTTP1.1 请求头:消息头来自黑马:方立勋老师的课件 Accept:text/html,image/* 告诉服务器,客户机支持的数据类型 Accept-Charset:ISO-8859-1 告诉服务器,客户机采用的编码 Accept-EnCoding:gzip,compress 告诉服务器,客户机支持的数据压缩格式 Accept-Language:en 客户机的语言环境 Host: 客户机告诉服务器,想访问的主机名 If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间 Referer:https://www.360docs.net/doc/f51389628.html,/1.jsp 客户机通过这个头告诉服务器;它是从哪个资源来访问服务器的(防盗链) User-Agent: 客户机告诉服务器,客户机的软件环境 Cookie: 客户机通过这个头可以向服务器带数据; 响应头: Location:这个头信息配合302状态码使用,用于告诉客户找谁;重定向; Server:告诉客户机服务器的类型 Content-Encoding: gzip 服务器通过这个头,告诉客户机服务器压缩数据的格式 Content-Length:告诉浏览器压缩数据格式的同时;告诉客户机压缩数据的长度;Content-Language: zh-cn回送给浏览器,告诉回送时的语言环境; Content-Type: text/html;charset=GB2312 服务器通过这个头, 告诉浏览器回送数据的类型;可以控制以哪种类型方式(参照tomcat|web.xml)打开送回的数据; Last-Modified:服务器通过这个头,告诉浏览器当前资源缓存时间; Refresh:3;url=https://www.360docs.net/doc/f51389628.html, 服务器通过这个头,告诉浏览器隔多长时间刷新一次,也可以刷新到指定的页面(单位时间:秒) Content-Disposition:attachment;filename=aa.zip 服务器通过这个头,告诉浏览器以下载方式打开数据 Transfer-Encoding:chunked 服务器通过这个头,告诉浏览器数据的传送格式是以chunked ETag:缓存相关的头;比其他的缓存,可以实现实时更新; Expires:与缓存相关;服务器通过这个头,告诉浏览器吧回送的资源缓存多长时间;-1或0,表示不缓存; Cache-Control:no-cache Pragma:no-cache 服务器通过以上两个头,也是控制浏览器不要缓存数据; 因为市面上很多浏览器支持的控制缓存数据不一致;通过以上三个缓存头就可以控制所有浏览器不要缓存数据了; Http请求头字段: Range 头指示服务器只传送一部分web资源。这个头可以实现断点续传功能。有三种格式设置要传输的字节范围 Range: bytes=1000-2000 传输范围从1000到2000字节 Range:byetes=1000- 传输web资源中的第1000个字节以后的所有内容 Range: bytes=1000 传输最后1000个字节 http响应消息头字段:

HTTP协议报头信息详细讲解

对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头域

【每日一步】http协议头学习

请求头 HTTP最常见的请求头如下: ●Accept:浏览器可接受的MIME类型; ●Accept-Charset:浏览器可接受的字符集; ●Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip。Servlet 能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5 到10倍的下载时间; ●Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的 语言版本时要用到; ●Authorization:授权信息,通常出现在对服务器发送的WWW-Authenticate 头的应答中; ●Connection:表示是否需要持久连接。如果Servlet看到这里的值为 “Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接), 它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著 地减少下载所需要的时间。要实现这一点,Servlet需要在应答中发送一个 Content-Length头,最简单的实现方法是:先把内容写入 ByteArrayOutputStream,然后在正式写出内容之前计算它的大小; ●Content-Length:表示请求消息正文的长度; ●Cookie:这是最重要的请求头信息之一; ●From:请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不 会用到它; ●Host:初始URL中的主机和端口; ●If-Modified-Since:只有当所请求的内容在指定的日期之后又经过修改才返回 它,否则返回304“Not Modified”应答; ●Pragma:指定“no-cache”值表示服务器必须返回一个刷新后的文档,即使它是 代理服务器而且已经有了页面的本地拷贝; ●Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。 ●User-Agent:浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值 非常有用;

http中content-type头值-

http中content-type头值-(MIME类型) 常见文件http中content-type头值-(MIME类型) .ppt–application/mspowerpoint .ai–application/postscript .aif–audio/x-aiff .aifc–audio/x-aiff .aiff–audio/x-aiff .asc–text/plain .au–audio/basic .avi–video/x-msvideo .bcpio–application/x-bcpio .bin–application/octet-stream .c–text/plain .cc–text/plain .ccad–application/clariscad .cdf–application/x-netcdf .class–application/octet-stream .cpio–application/x-cpio .cpt–application/mac-compactpro .csh–application/x-csh .css–text/css .dcr–application/x-director .dir–application/x-director .dms–application/octet-stream .doc–application/msword .drw–application/drafting .dvi–application/x-dvi .dwg–application/acad .dxf–application/dxf .dxr–application/x-director .eps–application/postscript .etx–text/x-setext .exe–application/octet-stream .ez–application/andrew-inset .f–text/plain .f90–text/plain .fli–video/x-fli .gif–image/gif .gtar–application/x-gtar .gz–application/x-gzip .h–text/plain .hdf–application/x-hdf .hh–text/plain

HTTP协议的头信息详解

HTTP协议的头信息详解.txt10有了执著,生命旅程上的寂寞可以铺成一片蓝天;有了执著,孤单可以演绎成一排鸿雁;有了执著,欢乐可以绽放成满圆的鲜花。 HTTP协议的头信息详解 在数据挖崛方面有时候会经常分析网页内容,这时候就需要对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消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

http头文件信息

http 头文件信息 状态码 Response 消息中的第一行叫做状态行,由HTTP协议版本号,状态码,状态消息三部分组成。 状态码用来告诉HTTP客户端,HTTP服务器是否产生了预期的Response. HTTP/1.1中定义了5类状态码,状态码由三位数字组成,第一个数字定义了响应的类别 1XX 提示信息- 表示请求已被成功接收,继续处理 2XX 成功- 表示请求已被成功接收,理解,接受 3XX 重定向- 要完成请求必须进行更进一步的处理 4XX 客户端错误- 请求有语法错误或请求无法实现 5XX 服务器端错误- 服务器未能实现合法的请求 HTTP Request header Cache 头域 If-Modified-Since 作用:把浏览器端缓存页面的最后修改时间发送到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行对比。如果时间一致,那么返回304,客户端就直接使用本地缓存文件。如果时间不一致,就会返回200和新的文件内容。客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示在浏览器中. 例如:If-Modified-Since: Thu, 09 Feb 2012 09:07:57 GMT If-None-Match 作用: If-None-Match和ETag一起工作,工作原理是在HTTP Response中添加ETag信息。当用户再次请求该资源时,将在HTTP Request 中加入If-None-Match信息(ETag的值)。如果服务器验证资源的ETag没有改变(该资源没有更新),将返回一个304状态告诉客户端使用本地缓存文件。否则将返回200状态和新的资源和Etag. 使用这样的机制将提高网站的性能 例如: If-None-Match: "03f2b33c0bfcc1:0" Pragma 作用:防止页面被缓存,在HTTP/1.1版本中,它和Cache-Control:no-cache作用一模一样Pargma只有一个用法,例如:Pragma: no-cache 注意: 在HTTP/1.0版本中,只实现了Pragema:no-cache, 没有实现Cache-Control Cache-Control 作用: 这个是非常重要的规则。这个用来指定Response-Request遵循的缓存机制。各个指令含义如下Cache-Control:Public 可以被任何缓存所缓存() Cache-Control:Private 内容只缓存到私有缓存中 Cache-Control:no-cache 所有内容都不会被缓存 还有其他的一些用法 Client 头域

HTTP协议的头信息详解

HTTP 协议的头信息详解 HTTP 协议的头信息详解 通常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 。各个消息中的指令含义如 下: 个用户的整个或部分响应消息,不能被共享缓存处理。这允 许服务器仅仅描述当用户的部分响应消息,此响应消息对于 其他用户的请求无效。 no-cache 指示请求或响应消息不能 缓存 no-store 用于防止重要的信息被无意的发布。 在请求消 指示客户机可以接收生存期不大于指定时间(以秒为单位) 的响应。 min-fresh 指示客户机可以接收响应时间小于当前 超出超时期间的响应消息。如果指定 max-stale 消息的值, 那么客户机可以接收超出超时期指定值之内的响应消息。 Date 头域 Date 头域表示消息发送的时间, 时间的描述格式 由 rfc822 定义。例如,Date:Mon,31Dec200104:25:57GMT 。 Date 描述的时间表示世界标准时, 换算成本地时间, 需要知 包含实现特定的指令,最常用的是 Pragma:no-cache 。 HTTP/1.1 协议中, 它的含义和 Cache- Control:no-cache MethodSPRequest-URISPHTTP-VersionCRLFMethod Public 指示响应可被任何缓存区缓存。 Private 指示对于单 息中发送将使得请求和响应消息都不使用缓存。 max-age 时间加上指定时间的响应。 max-stale 指示客户机可以接收 道用户所在的时区。 Pragma 头域 Pragma 头域用来 同。 请求消息 请求消息的第一行为下面的格式:

HTTP协议header头域

[日期:2008-06-16]来源:作者:[字体:大中小] 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指示客户机可以接收生存期不大于指定时间(以秒为单

http协议学习总结 协议格式 消息头 消息体等

超文本传送协议(HTTP) 是一种通信协议,它允许将超文本标记语言(HTML) 文档从Web 服务器传送到Web 浏览器。HTML 是一种用于创建文档的标记语言,这些文档包含到相关信息的链接。您可以单击一个链接来访问其它文档、图像或多媒体对象,并获得关于链接项的附加信息。 HTTP工作在TCP/IP协议体系中的TCP协议上。 客户机和服务器必须都支持HTTP,才能在万维网上发送和接收HTML 文档并进行交互。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 消息的通用格式为: generic-message=start-line *(message-header CRLF)

CRLF [message-body] 其中start-line=Request-Line|Status-Line 请求(Request)消息: 由客户端发给服务器的消息。 其组成包括:请求行(Request-Line),可选的头域(Header Field ),及实体(Entity-Body)。 请求消息结构: Full-Request = Request-Line *(General-Header | Request-Header | Entity-Header) CRLF [Entity-Body] 请求消息示例: 请求行:GET(请求方法)https://www.360docs.net/doc/f51389628.html,/pub/WWW/page.html (URL)HTTP/1.1(版本号) 报头行(可选的头域?):Connection:close(告知服务器本浏览器不想使用永久连接方式) User-agent:Mozilla/4.0(指定用户代理服务器的类型) Accept-Encoding:gzip,compress(发送此请求的浏览器支持哪些压缩编码方式)

HTTP常用消息头

HTTP常用消息头 来源:不详作者:佚名时间:2009-4-4 19:48:08 发布:黑客软件园 HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。请求消息和响应消息都是由开始行(对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行),消息报头(可选),空行(只有CRLF 的行),消息正文(可选)组成。 HTTP消息报头包括普通报头、请求报头、响应报头、实体报头。 每一个报头域都是由名字+“:”+空格+值组成,消息报头域的名字是大小写无关的。 1、普通报头 在普通报头中,有少数报头域用于所有的请求和响应消息,但并不用于被传输的实体,只用于传输的消息。eg: Cache-Control 用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制),HTTP1.0使用的类似的报头域为Pragma。 请求时的缓存指令包括: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、s-maxage. eg:为了指示IE浏览器(客户端)不要缓存页面,服务器端的JSP程序可以编写如下: response.sehHeader("Cache-Control","no-cache"); //response.setHeader("Pragma","no-cache");作用相当于上述代码,通常两者//合用 这句代码将在发送的响应消息中设置普通报头域:Cache-Control:no-cache Date普通报头域表示消息产生的日期和时间 Connection普通报头域允许发送指定连接的选项。例如指定连接是连续,或者指定“close”选项,通知服务器,在响应完成后,关闭连接 2、请求报头 请求报头允许客户端向服务器端传递请求的附加信息以及客户端自身的信息。 常用的请求报头 Accept Accept请求报头域用于指定客户端接受哪些类型的信息。eg:Accept:image/gif,表明客户端希望接受GIF 图象格式的资源;Accept:text/html,表明客户端希望接受html文本。 Accept-Charset Accept-Charset请求报头域用于指定客户端接受的字符集。eg:Accept-Charset:iso-8859-1,gb2312.如果在请求消息中没有设置这个域,缺省是任何字符集都可以接受。 Accept-Encoding Accept-Encoding请求报头域类似于Accept,但是它是用于指定可接受的内容编码。eg: Accept-Encoding:gzip.deflate.如果请求消息中没有设置这个域服务器假定客户端对各种内容编码都可以接受。 Accept-Language Accept-Language请求报头域类似于Accept,但是它是用于指定一种自然语言。eg:Accept-Language:zh-cn.

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指示请求或响应消息不能缓存

http请求头和响应状态码

用于HTTP请求中的常用请求头字段 Accept:用于告诉服务器,客户机支持的数据类型 Accept-Charset:用于告诉服务器,客户机采用的编码格式 Accept-Encoding:用于告诉服务器,客户机支持的数据压缩格式 Accept-Language:客户机的语言环境 Host:客户机通过这个头告诉服务器,想访问的主机名 If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间 Referer:客户机通过这个头告诉服务器,它是从哪个资源来访问服务器的(防盗链)User-Agent:客户机通过这个头告诉服务器,客户机的软件环境 Cookie:客户机通过这个头可以向服务器带数据 Connection:处理完这次请求后是否断开连接还是继续保持连接 Date:当前时间值 HTTP响应 状态行:用于描述服务器对请求的处理结果。 状态码:100~199:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。 200~299:表示成功接收请求并已完成整个处理过程。常用200 300~399:为完成请求,客户需进一步细化请求。例如:请求的资源已经移动一个新地址、常用302(意味着你请求我,我让你去找别人),307和304(我不给你这个资源,自己拿缓存) 400~499:客户端的请求有错误,常用404(意味着你请求的资源在web服务器中没有)403(服务器拒绝访问,权限不够) 500~599:服务器端出现错误,常用500 多个响应头:响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据。

什么是HTTP Headers

什么是HTTP Headers? 出自:https://www.360docs.net/doc/f51389628.html,/?p=521 什么是HTTP Headers HTTP是“Hypertext Transfer Protocol”的所写,整个万维网都在使用这种协议,几乎你在浏览器里看到的大部分内容都是通过http协议来传输的,比如这篇文章。 HTTP Headers是HTTP请求和相应的核心,它承载了关于客户端浏览器,请求页面,服务器等相关的信息。 示例 当你在浏览器地址栏里键入一个url,你的浏览器将会类似如下的http请求: GET /tutorials/other/top-20-mysql-best-practices/ HTTP/1.1 Host: https://www.360docs.net/doc/f51389628.html, User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729) Accept:

text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Cookie: PHPSESSID=r2t5uvjq435r4q7ib3vtdjq120 Pragma: no-cache Cache-Control: no-cache 第一行被称为“Request Line” 它描述的是这个请求的基本信息,剩下的就是HTTP headers了。 请求完成之后,你的浏览器可能会收到如下的HTTP响应: HTTP/1.x 200 OK Transfer-Encoding: chunked Date: Sat, 28 Nov 2009 04:36:25 GMT Server: LiteSpeed Connection: close X-Powered-By: W3 Total Cache/0.8 Pragma: public Expires: Sat, 28 Nov 2009 05:36:25 GMT Etag: "pub1259380237;gz" Cache-Control: max-age=3600, public Content-Type: text/html; charset=UTF-8 Last-Modified: Sat, 28 Nov 2009 03:50:37 GMT X-Pingback: https://www.360docs.net/doc/f51389628.html,/xmlrpc.php Content-Encoding: gzip Vary: Accept-Encoding, Cookie, User-Agent 第一行呢被称为“Status Line”,它之后就是http headers,空行完了就开始输出内容了(在这个案例中是一些html输出)。 但你查看页面源代码却不能看到HTTP headers,虽然它们同你能看到的东西一起被传送至浏览器了。 这个HTTP请求也发出了一些其它资源的接收请求,例如图片,css文件,js文件等等。下面我们来看看细节。 怎样才能看到HTTP Headers 下面这些FireFox扩展能够帮助你分析HTTP headers: 1. firebug

相关文档
最新文档