﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Solo-文章分类-HTTP</title><link>http://www.blogjava.net/freeatom/category/19633.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 25 Apr 2007 07:54:34 GMT</lastBuildDate><pubDate>Wed, 25 Apr 2007 07:54:34 GMT</pubDate><ttl>60</ttl><item><title>HTTP参考</title><link>http://www.blogjava.net/freeatom/articles/96935.html</link><dc:creator>Exiler</dc:creator><author>Exiler</author><pubDate>Wed, 31 Jan 2007 05:59:00 GMT</pubDate><guid>http://www.blogjava.net/freeatom/articles/96935.html</guid><wfw:comment>http://www.blogjava.net/freeatom/comments/96935.html</wfw:comment><comments>http://www.blogjava.net/freeatom/articles/96935.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/freeatom/comments/commentRss/96935.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/freeatom/services/trackbacks/96935.html</trackback:ping><description><![CDATA[<div class=postTitle>HTTP参考</div>
<div class=postText>一、HTTP码应码<br>响应码由三位十进制数字组成，它们出现在由HTTP服务器发送的响应的第一行。<br><br>响应码分五种类型，由它们的第一位数字表示：<br>1.1xx：信息，请求收到，继续处理<br>2.2xx：成功，行为被成功地接受、理解和采纳<br>3.3xx：重定向，为了完成请求，必须进一步执行的动作<br>4.4xx：客户端错误，请求包含语法错误或者请求无法实现<br>5.5xx：服务器错误，服务器不能实现一种明显无效的请求<br><br>下表显示每个响应码及其含义：<br>100 继续<br>101 分组交换协<br>200 OK<br>201 被创建<br>202 被采纳<br>203 非授权信息<br>204 无内容<br>205 重置内容<br>206 部分内容<br>300 多选项<br>301 永久地传送<br>302 找到<br>303 参见其他<br>304 未改动<br>305 使用代理<br>307 暂时重定向<br>400 错误请求<br>401 未授权<br>402 要求付费<br>403 禁止<br>404 未找到<br>405 不允许的方法<br>406 不被采纳<br>407 要求代理授权<br>408 请求超时<br>409 冲突<br>410 过期的<br>411 要求的长度<br>412 前提不成立<br>413 请求实例太大<br>414 请求URI太大<br>415 不支持的媒体类型<br>416 无法满足的请求范围<br>417 失败的预期<br>500 内部服务器错误<br>501 未被使用<br>502 网关错误<br>503 不可用的服务<br>504 网关超时<br>505 HTTP版本未被支持<br><br>二、HTTP头标<br>头标由主键/值对组成。它们描述客户端或者服务器的属性、被传输的资源以及应该实现连接。<br><br>四种不同类型的头标：<br>1.通用头标：即可用于请求，也可用于响应，是作为一个整体而不是特定资源与事务相关联。<br>2.请求头标：允许客户端传递关于自身的信息和希望的响应形式。<br>3.响应头标：服务器和于传递自身信息的响应。<br>4.实体头标：定义被传送资源的信息。即可用于请求，也可用于响应。<br><br>头标格式：&lt;name&gt;:&lt;value&gt;&lt;CRLF&gt;<br><br>下表描述在HTTP/1.1中用到的头标<br>Accept 定义客户端可以处理的媒体类型，按优先级排序；<br>在一个以逗号为分隔的列表中，可以定义多种类型和使用通配符。例如：Accept: image/jpeg,image/png,*/*<br>Accept-Charset 定义客户端可以处理的字符集，按优先级排序；<br>在一个以逗号为分隔的列表中，可以定义多种类型和使用通配符。例如：Accept-Charset: iso-8859-1,*,utf-8<br>Accept-Encoding 定义客户端可以理解的编码机制。例如：Accept-Encoding:gzip,compress<br>Accept-Language 定义客户端乐于接受的自然语言列表。例如：Accept-Language: en,de<br>Accept-Ranges 一个响应头标，它允许服务器指明：将在给定的偏移和长度处，为资源组成部分的接受请求。<br>该头标的值被理解为请求范围的度量单位。例如Accept-Ranges: bytes或Accept-Ranges: none<br>Age 允许服务器规定自服务器生成该响应以来所经过的时间长度，以秒为单位。<br>该头标主要用于缓存响应。例如：Age: 30<br>Allow 一个响应头标，它定义一个由位于请求URI中的次源所支持的HTTP方法列表。例如：Allow: GET,PUT<br>aUTHORIZATION 一个响应头标，用于定义访问一种资源所必需的授权（域和被编码的用户ID与口令）。<br>例如：Authorization: Basic YXV0aG9yOnBoaWw=<br>Cache-Control 一个用于定义缓存指令的通用头标。例如：Cache-Control: max-age=30<br>Connection 一个用于表明是否保存socket连接为开放的通用头标。例如：Connection: close或Connection: keep-alive<br>Content-Base 一种定义基本URI的实体头标，为了在实体范围内解析相对URLs。<br>如果没有定义Content-Base头标解析相对URLs，使用Content-Location URI（存在且绝对）或使用URI请求。<br>例如：Content-Base: Http://www.myweb.com<br>Content-Encoding 一种介质类型修饰符，标明一个实体是如何编码的。例如：Content-Encoding: zip<br>Content-Language 用于指定在输入流中数据的自然语言类型。例如：Content-Language: en<br>Content-Length 指定包含于请求或响应中数据的字节长度。例如：Content-Length:382<br>Content-Location 指定包含于请求或响应中的资源定位（URI）。<br>如果是一绝。对URL它也作为被解析实体的相对URL的出发点。<br>例如：Content-Location: <a href="http://www.myweb.com/news"><font color=#b54141>http://www.myweb.com/news</font></a><br>Content-MD5 实体的一种MD5摘要，用作校验和。<br>发送方和接受方都计算MD5摘要，接受方将其计算的值与此头标中传递的值进行比较。<br>例如：Content-MD5: &lt;base64 of 128 MD5 digest&gt;<br>Content-Range 随部分实体一同发送；标明被插入字节的低位与高位字节偏移，也标明此实体的总长度。<br>例如：Content-Range: 1001-2000/5000<br>Contern-Type 标明发送或者接收的实体的MIME类型。例如：Content-Type: text/html<br>Date 发送HTTP消息的日期。例如：Date: Mon,10PR 18:42:51 GMT<br>ETag 一种实体头标，它向被发送的资源分派一个唯一的标识符。<br>对于可以使用多种URL请求的资源，ETag可以用于确定实际被发送的资源是否为同一资源。<br>例如：ETag: "208f-419e-30f8dc99"<br>Expires 指定实体的有效期。例如：Expires: Mon,05 Dec 2008 12:00:00 GMT<br>Form 一种请求头标，给定控制用户代理的人工用户的电子邮件地址。例如：From: webmaster@myweb.com<br>Host 被请求资源的主机名。对于使用HTTP/1.1的请求而言，此域是强制性的。例如：Host: www.myweb.com<br>If-Modified-Since 如果包含了GET请求，导致该请求条件性地依赖于资源上次修改日期。<br>如果出现了此头标，并且自指定日期以来，此资源已被修改，应该反回一个304响应代码。<br>例如：If-Modified-Since: Mon,10PR 18:42:51 GMT<br>If-Match 如果包含于一个请求，指定一个或者多个实体标记。只发送其ETag与列表中标记区配的资源。<br>例如：If-Match: "208f-419e-308dc99"<br>If-None-Match 如果包含一个请求，指定一个或者多个实体标记。资源的ETag不与列表中的任何一个条件匹配，操作才执行。<br>例如：If-None-Match: "208f-419e-308dc99"<br>If-Range 指定资源的一个实体标记，客户端已经拥有此资源的一个拷贝。必须与Range头标一同使用。<br>如果此实体自上次被客户端检索以来，还不曾修改过，那么服务器只发送指定的范围，否则它将发送整个资源。<br>例如：Range: byte=0-499&lt;CRLF&gt;If-Range:"208f-419e-30f8dc99"<br>If-Unmodified-Since 只有自指定的日期以来，被请求的实体还不曾被修改过，才会返回此实体。<br>例如：If-Unmodified-Since:Mon,10PR 18:42:51 GMT<br>Last-Modified 指定被请求资源上次被修改的日期和时间。例如：Last-Modified: Mon,10PR 18:42:51 GMT<br>Location 对于一个已经移动的资源，用于重定向请求者至另一个位置。<br>与状态编码302（暂时移动）或者301（永久性移动）配合使用。<br>例如：Location: <a href="http://www2.myweb.com/index.jsp"><font color=#b54141>http://www2.myweb.com/index.jsp</font></a><br>Max-Forwards 一个用于TRACE方法的请求头标，以指定代理或网关的最大数目，该请求通过网关才得以路由。<br>在通过请求传递之前，代理或网关应该减少此数目。例如：Max-Forwards: 3<br>Pragma 一个通用头标，它发送实现相关的信息。例如：Pragma: no-cache<br>Proxy-Authenticate 类似于WWW-Authenticate，便是有意请求只来自请求链（代理）的下一个服务器的认证。<br>例如：Proxy-Authenticate: Basic realm-admin<br>Proxy-Proxy-Authorization 类似于授权，但并非有意传递任何比在即时服务器链中更进一步的内容。<br>例如：Proxy-Proxy-Authorization: Basic YXV0aG9yOnBoaWw=<br>Public 列表显示服务器所支持的方法集。例如：Public: OPTIONS,MGET,MHEAD,GET,HEAD<br>Range 指定一种度量单位和一个部分被请求资源的偏移范围。例如：Range: bytes=206-5513<br>Refener 一种请求头标域，标明产生请求的初始资源。对于HTML表单，它包含此表单的Web页面的地址。<br>例如：Refener: <a href="http://www.myweb.com/news/search.html"><font color=#b54141>http://www.myweb.com/news/search.html</font></a><br>Retry-After 一种响应头标域，由服务器与状态编码503（无法提供服务）配合发送，以标明再次请求之前应该等待多长时间。<br>此时间即可以是一种日期，也可以是一种秒单位。例如：Retry-After: 18<br>Server 一种标明Web服务器软件及其版本号的头标。例如：Server: Apache/2.0.46(Win32)<br>Transfer-Encoding 一种通用头标，标明对应被接受方反向的消息体实施变换的类型。例如：Transfer-Encoding: chunked<br>Upgrade 允许服务器指定一种新的协议或者新的协议版本，与响应编码101（切换协议）配合使用。<br>例如：Upgrade: HTTP/2.0<br>User-Agent 定义用于产生请求的软件类型（典型的如Web浏览器）。<br>例如：User-Agent: Mozilla/4.0(compatible; MSIE 5.5; Windows NT; DigExt)<br>Vary 一个响应头标，用于表示使用服务器驱动的协商从可用的响应表示中选择响应实体。例如：Vary: *<br>Via 一个包含所有中间主机和协议的通用头标，用于满足请求。例如：Via: 1.0 fred.com, 1.1 wilma.com<br>Warning 用于提供关于响应状态补充信息的响应头标。例如：Warning: 99 www.myweb.com Piano needs tuning<br>www-Authenticate 一个提示用户代理提供用户名和口令的响应头标，与状态编码401（未授权）配合使用。响应一个授权头标。<br>例如：www-Authenticate: Basic realm=zxm.mgmt<br><br>&nbsp;引用：<a href="http://tb.blog.csdn.net/TrackBack.aspx?PostId=663161">http://tb.blog.csdn.net/TrackBack.aspx?PostId=663161</a></div>
<img src ="http://www.blogjava.net/freeatom/aggbug/96935.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/freeatom/" target="_blank">Exiler</a> 2007-01-31 13:59 <a href="http://www.blogjava.net/freeatom/articles/96935.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>