tcp/ip-HTTP-Header-消息报头
上一篇 / 下一篇 2011-06-01 11:16:54 / 个人分类:HTTP
/x[n
bW2DJ)r@7bJ0HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。51Testing软件测试网7sx~ ?y
请求消息和响应消息都是由开始行(对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行),
i:pf#G]f0消息报头(可选),空行(只有CRLF的行),消息正文(可选)组成。51Testing软件测试网^[$mI @E {
HTTP消息报头包括普通报头、请求报头、响应报头、实体报头。51Testing软件测试网^"qc3he8EL$o sp
51Testing软件测试网G1U6N"ui!C每一个报头域都是由名字+“:”+空格+值 组成,消息报头域的名字是大小写无关的51Testing软件测试网!o%zRIQ
头标由主键/值对组成。它们描述客户端或者服务器的属性、被传输的资源以及应该实现连接
1.通用头标:即可用于请求,也可用于响应,是作为一个整体而不是特定资源与事务相关联。51Testing软件测试网.r|~Lumc
2.请求头标:允许客户端传递关于自身的信息和希望的响应形式。
hS3xc\!S.B~03.响应头标:服务器和于传递自身信息的响应。51Testing软件测试网QH;[/\ f
4.实体头标:定义被传送资源的信息。即可用于请求,也可用于响应。
zI5v6NJ+GJk^;cV01、普通报头 (General Header)
,f3uNH_/j0$y4I@:kRt1|{0在普通报头中,有少数报头域用于所有的请求和响应消息,但并不用于被传输的实体,只用于传输的消息
T-~-lpc#zNRz0对请求头域的扩展要求通讯双方都支持,如果存在不支持的请求头域,一般将会作为实体头域处理51Testing软件测试网uj?IF^2{
r"d
Connection
"U&{j:}0ud!fn!d0 Date51Testing软件测试网#e.@}Nmx.SU0y*X
Pragma51Testing软件测试网8IbjG)Oe}q/N~tB
Transfer-Encoding51Testing软件测试网.e'w#Vx`rR&a0|}
Upgrade51Testing软件测试网DavD!`)SpV k'D
Via
2、请求报头 (Request Headers)
d9Hf|tY:Q0xN ~7x.?%WH0请求报头允许客户端向服务器端传递请求的附加信息以及客户端自身的信息
J'Gv]lTTMSz0对请求头域的扩展要求通讯双方都支持,如果存在不支持的请求头域,一般将会作为实体头域处理51Testing软件测试网$@A$e)^t ^n
Accept-Charset51Testing软件测试网&u8lY!k8V
Accept-Encoding
%r*`Z^O'[5_0 Accept-Language51Testing软件测试网2Pput.Hxj-C$h
Authorization51Testing软件测试网#jT kHQ+Q
Host51Testing软件测试网A+e?;l{y(tP3y
User-Agent
S2do/PmtF"G w0 From
m)is\Vy9A0 If-Modified-Since51Testing软件测试网v`H9g|R/X.y
If-Match
3l!zYBMyOXTN0 If-None-Match51Testing软件测试网Vp%n*A-D1qL0y
If-Range51Testing软件测试网6a%~u/\H Y.i
If-Unmodified-Since51Testing软件测试网\{W2e&jJ
Max-Forwards51Testing软件测试网`!j!\-~Q-s.m"g&N
Proxy-Authorization
!u9h-qnB+s@0 Range51Testing软件测试网-`g/Pd BM(m-t Xt
Referer
3、响应报头 (Response Headers)51Testing软件测试网,P3]i-v_ n a
T;Jh!r2_jd0响应报头允许服务器传递不能放在状态行中的附加响应信息,
']3ugT6O'| j:t*Z:\+|0以及关于服务器的信息和对Request-URI所标识的资源进行下一步访问的信息
)[5v6W
v$u'H~w0对响应头域的扩展要求通讯双方都支持,如果存在不支持的响应头域,一般将会作为实体头域处理51Testing软件测试网'Yo5Yn#X3d
"{v:V#Na*z0 Server51Testing软件测试网6I\6?3M;_ i
WWW-Authenticate51Testing软件测试网5a$o9P7X8B)ua*I(gY
Age
^8j{n%O D)?%W0 Proxy-Authenticate
r0Y3_}E i0 Public51Testing软件测试网;MW9{#Jmh*Bt
Retry-After51Testing软件测试网?-J:a.X*KF3Yj'z BFX
Vary
/lk0Y;DH-nz:H@/o%X0 Warning
4、实体报头 (Entity Header)
!xt6p0z7RS{!E0JE8Vp:jJ0请求和响应消息都可以传送一个实体。一个实体由实体报头域和实体正文组成,
gCJ'dCL \'Q0但并不是说实体报头域和实体正文要在一起发送,可以只发送实体报头域。
2p0z\3i"z@2csrr0h0实体报头定义了关于实体正文(eg:有无实体正文)和请求所标识的资源的元信息51Testing软件测试网3l)IV+K
_Wq3@Soq
Content-Language51Testing软件测试网2N%A-S/Ox^ ~
Content-Length51Testing软件测试网,m"T%RFy`
Content-Type51Testing软件测试网8V0E*u0m:fQ
Last-Modified51Testing软件测试网:?&|$REjx ]
Expires51Testing软件测试网jC'f0D@F'R
Allow
-WQ9])X6Dv3x0 Content-Base
k8c6js/AF0 Content-Location
D N"{s y:fx{[4]0 Content-MD5
+sdp!N(P0 Content-Range
.U6X z6c/]0 Etag
Ubc6KhK]!CgB!i0 extension-header
Accept
SBoH&x6V6vYd\0客户端可以处理的媒体类型,按优先级排序,在一个以逗号为分隔的列表中,可以定义多种类型和使用通配符。51Testing软件测试网/a}!RW}I#yG
4L;CiG?7W8x0Accept-Language
NnMe"GbK!k/mvR0客户端接受的语言列表。
^mm!bS0Accept-Ranges
,s yg#nq0一个响应头标,它允许服务器指明:将在给定的偏移和长度处,为资源组成部分的接受请求。
^,mMC g
dSf#U0该头标的值被理解为请求范围的度量单位。
Accept-Ranges: none
Kx;}6PkS!?Z Z#g0Accept-Encoding
7?/o?0t ` J0客户端编码。51Testing软件测试网d'r3k$my A
s)U%M"Gp
Accept-Charset51Testing软件测试网y}XTHy"cH'j
客户端可以处理的字符集,按优先级排序,在一个以逗号为分隔的列表中,可以定义多种类型和使用通配符。
*n6n7rRpWb0Age51Testing软件测试网o+f$the
允许服务器规定自服务器生成该响应以来所经过的时间长度,以秒为单位。51Testing软件测试网u'gt;o
`7a@'x!H9I
该头标主要用于缓存响应。
}C5R&MQ9R
@0Allow51Testing软件测试网4N8[4g'\Wy
一个响应头标,它定义一个由位于请求URI中的次源所支持的HTTP方法列表。
Authorization
W\7}
Pb0一个响应头标,用于定义访问一种资源所必需的授权(域和被编码的用户ID与口令)。51Testing软件测试网e#t'O6}1CQP'O
f6Q$NK}&o
g*}0Cache-Control
Bz,^'Ax
T
YS0缓存机制。
ZQxaQ(H[G/V3t$Lv0在请求消息或响应消息中设置 Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。
!@
J,D!_.b(@e0请求时的缓存指令包括no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached,
+_'D9GF7C HJYLI0响应消息中的指令包括public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age。51Testing软件测试网-C sQm1H[
各个消息中的指令含义如下:51Testing软件测试网K2Rj]0Ic8U
Public
ufr)Q\I4u0指示响应可被任何缓存区缓存。
-Yt
b `
m0Private51Testing软件测试网M3MO\i
指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。51Testing软件测试网H:k@[md
这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。51Testing软件测试网"x6\_S8e"_
no-cache51Testing软件测试网_XJ(nBN5k
指示请求或响应消息不能缓存
]-C.G#zi;}UG0no-store51Testing软件测试网xP6q
| c'@
用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。51Testing软件测试网TnLgfy7S8[LQD
max-age
-`m%hO @6H0z Hl0指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。
7rf$qA$rVhCK)U0mLp0min-fresh
jP#x Za#A0指示客户机可以接收响应时间小于当前时间加上指定时间的响应。51Testing软件测试网0CH2~5z._:g
max-stale