<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>OurApache &#187; header</title>
	<atom:link href="http://ourapache.com/archives/tag/header/feed" rel="self" type="application/rss+xml" />
	<link>http://ourapache.com</link>
	<description>我们致力于一个Apache知识的分享网站</description>
	<lastBuildDate>Tue, 13 Apr 2010 05:18:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>http header详解</title>
		<link>http://ourapache.com/archives/206</link>
		<comments>http://ourapache.com/archives/206#comments</comments>
		<pubDate>Fri, 27 Feb 2009 03:33:59 +0000</pubDate>
		<dc:creator>OurApache</dc:creator>
				<category><![CDATA[HTTP相关知识]]></category>
		<category><![CDATA[header]]></category>

		<guid isPermaLink="false">http://www.ourapache.com/?p=206</guid>
		<description><![CDATA[HTTP（HyperTextTransferProtocol）是超文本传输协议的缩写，它用于传送WWW方式的数据，关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求，请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应，相应的内容包括消息协议的版本，成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。  

通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行，一个或者多个头域，一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头，请求头，响应头和实体头四个部分。每个头域由一个域名，冒号（:）和域值三部分组成。域名是大小写无关的，域值前可以添加任何数量的空格符，头域可以被扩展为多行，在每行开始处，使用至少一个空格或制表符。  ]]></description>
			<content:encoded><![CDATA[<p>HTTP（HyperTextTransferProtocol）是超文本传输协议的缩写，它用于传送WWW方式的数据，关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求，请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应，相应的内容包括消息协议的版本，成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。 </p>
<p>通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行，一个或者多个头域，一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头，请求头，响应头和实体头四个部分。每个头域由一个域名，冒号（:）和域值三部分组成。域名是大小写无关的，域值前可以添加任何数量的空格符，头域可以被扩展为多行，在每行开始处，使用至少一个空格或制表符。 </p>
<p><strong>通用头域</strong> </p>
<p>通用头域包含请求和响应消息都支持的头域，通用头域包含Cache-Control、 Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。对通用头域的扩展要求通讯双方都支持此扩展，如果存在不支持的通用头域，一般将会作为实体头域处理。下面简单介绍几个在UPnP消息中使用的通用头域。 </p>
<p><strong>Cache-Control头域</strong> </p>
<p>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。各个消息中的指令含义如下： </p>
<blockquote><p>Public指示响应可被任何缓存区缓存。 </p>
<p>Private指示对于单个用户的整个或部分响应消息，不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息，此响应消息对于其他用户的请求无效。 </p>
<p>no-cache指示请求或响应消息不能缓存 </p>
<p>no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。 </p>
<p>max-age指示客户机可以接收生存期不大于指定时间（以秒为单位）的响应。 </p>
<p>min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。 </p>
<p>max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值，那么客户机可以接收超出超时期指定值之内的响应消息。 </p></blockquote>
<p><strong>Date头域</strong> </p>
<p>Date头域表示消息发送的时间，时间的描述格式由rfc822定义。例如，Date:Mon,31Dec200104:25:57GMT。Date描述的时间表示世界标准时，换算成本地时间，需要知道用户所在的时区。 </p>
<p><strong>Pragma头域</strong> </p>
<p>Pragma头域用来包含实现特定的指令，最常用的是Pragma:no-cache。在HTTP/1.1协议中，它的含义和Cache- Control:no-cache相同。 </p>
<p><strong>请求消息</strong> </p>
<p>请求消息的第一行为下面的格式： </p>
<p>MethodSPRequest-URISPHTTP-VersionCRLFMethod 表示对于Request-URI完成的方法，这个字段是大小写敏感的，包括OPTIONS、GET、HEAD、POST、PUT、DELETE、 TRACE。方法GET和HEAD应该被所有的通用WEB服务器支持，其他所有方法的实现是可选的。GET方法取回由Request-URI标识的信息。 HEAD方法也是取回由Request-URI标识的信息，只是可以在响应时，不返回消息体。POST方法可以请求服务器接收包含在请求中的实体信息，可以用于提交表单，向新闻组、BBS、邮件群组和数据库发送消息。 </p>
<p>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。对请求头域的扩展要求通讯双方都支持，如果存在不支持的请求头域，一般将会作为实体头域处理。 </p>
<p><strong>典型的请求消息：</strong> </p>
<blockquote><p>GET http://download.microtool.de:80/somedata.exe <br />
Host: download.microtool.de <br />
Accept:*/* <br />
Pragma: no-cache <br />
<a href="http://ourapache.com/archives/tag/cache-control" class="st_tag internal_tag" rel="tag" title="标签 Cache-control 下的日志">Cache-Control</a>: no-cache <br />
Referer: http://download.microtool.de/ <br />
User-Agent:Mozilla/4.04[en](Win95;I;Nav) <br />
Range:bytes=554554- </p></blockquote>
<p>上例第一行表示HTTP客户端（可能是浏览器、下载程序）通过GET方法获得指定URL下的文件。棕色的部分表示请求头域的信息，绿色的部分表示通用头部分。 <br />
Host头域 </p>
<p><strong>Host头域</strong>指定请求资源的Intenet主机和端口号，必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域，否则系统会以400状态码返回。 </p>
<p><strong>Referer头域</strong> </p>
<p>Referer头域允许客户端指定请求uri的源资源地址，这可以允许服务器生成回退链表，可用来登陆、优化cache等。他也允许废除的或错误的连接由于维护的目的被追踪。如果请求的uri没有自己的uri地址，Referer不能被发送。如果指定的是部分uri地址，则此地址应该是一个相对地址。 </p>
<p><strong>Range头域</strong> </p>
<p>Range头域可以请求实体的一个或者多个子范围。例如:</p>
<blockquote><p>表示头500个字节：bytes=0-499 </p>
<p>表示第二个500字节：bytes=500-999 </p>
<p>表示最后500个字节：bytes=-500 </p>
<p>表示500字节以后的范围：bytes=500- </p>
<p>第一个和最后一个字节：bytes=0-0,-1 </p>
<p>同时指定几个范围：bytes=500-600,601-999 </p></blockquote>
<p>但是服务器可以忽略此请求头，如果无条件GET包含Range请求头，响应会以状态码206（PartialContent）返回而不是以200 （OK）。 </p>
<p><strong>User-Agent头域</strong> </p>
<p>User-Agent头域的内容包含发出请求的用户信息。 </p>
<p><strong>响应消息</strong> </p>
<p>响应消息的第一行为下面的格式： </p>
<blockquote><p>TTP-VersionSPStatus-CodeSPReason-PhraseCRLF </p></blockquote>
<p>HTTP-Version表示支持的HTTP版本，例如为HTTP/1.1。Status- Code是一个三个数字的结果代码。Reason-Phrase给Status-Code提供一个简单的文本描述。Status-Code主要用于机器自动识别，Reason-Phrase主要用于帮助用户理解。Status-Code的第一个数字定义响应的类别，后两个数字没有分类的作用。第一个数字可能取5个不同的值： </p>
<blockquote><p>1xx:信息响应类，表示接收到请求并且继续处理 </p>
<p>2xx:处理成功响应类，表示动作被成功接收、理解和接受 </p>
<p>3xx:重定向响应类，为了完成指定的动作，必须接受进一步处理 </p>
<p>4xx:客户端错误，客户请求包含语法错误或者是不能正确执行 </p>
<p>5xx:服务端错误，服务器不能正确执行一个正确的请求 </p></blockquote>
<p>响应头域允许服务器传递不能放在状态行的附加信息，这些域主要描述服务器的信息和 Request-URI进一步的信息。响应头域包含Age、Location、Proxy-Authenticate、Public、Retry- After、Server、Vary、Warning、WWW-Authenticate。对响应头域的扩展要求通讯双方都支持，如果存在不支持的响应头域，一般将会作为实体头域处理。 </p>
<p><strong>典型的响应消息：</strong> </p>
<blockquote><p>HTTP/1.0200OK </p>
<p>Date:Mon,31Dec200104:25:57GMT </p>
<p>Server:Apache/1.3.14(Unix) </p>
<p><a href="http://ourapache.com/archives/tag/content-type" class="st_tag internal_tag" rel="tag" title="标签 Content-Type 下的日志">Content-type</a>:text/html </p>
<p>Last-modified:Tue,17Apr200106:46:28GMT </p>
<p>Etag:”a030f020ac7c01:1e9f” </p>
<p>Content-length:39725426 </p>
<p>Content-range:bytes554554-40279979/40279980 </p></blockquote>
<p>上例第一行表示HTTP服务端响应一个GET方法。棕色的部分表示响应头域的信息，绿色的部分表示通用头部分，红色的部分表示实体头域的信息。 </p>
<p><strong>Location响应头</strong> </p>
<p>Location响应头用于重定向接收者到一个新URI地址。 </p>
<p><strong>Server响应头 <br />
</strong><br />
Server响应头包含处理请求的原始服务器的软件信息。此域能包含多个产品标识和注释，产品标识一般按照重要性排序。 </p>
<p><strong>实体</strong> </p>
<p>请求消息和响应消息都可以包含实体信息，实体信息一般由实体头域和实体组成。实体头域包含关于实体的原信息，实体头包括Allow、Content- Base、Content-Encoding、Content-Language、 Content-Length、Content-Location、Content-MD5、Content-Range、Content-Type、 Etag、Expires、Last-Modified、extension-<a href="http://ourapache.com/archives/tag/header" class="st_tag internal_tag" rel="tag" title="标签 header 下的日志">header</a>。extension-header允许客户端定义新的实体头，但是这些域可能无法未接受方识别。实体可以是一个经过编码的字节流，它的编码方式由Content-Encoding或Content-Type定义，它的长度由Content-Length或Content-Range定义。 </p>
<p><strong>Content-Type实体头</strong> </p>
<p>Content-Type实体头用于向接收方指示实体的介质类型，指定HEAD方法送到接收方的实体介质类型，或GET方法发送的请求介质类型 Content-Range实体头 </p>
<p><strong>Content-Range实体头</strong>用于指定整个实体中的一部分的插入位置，他也指示了整个实体的长度。在服务器向客户返回一个部分响应，它必须描述响应覆盖的范围和整个实体长度。一般格式： </p>
<blockquote><p>Content-Range:bytes-unitSPfirst-byte-pos-last-byte-pos/entity-legth </p></blockquote>
<p>例如，传送头500个字节次字段的形式：Content-Range:bytes0- 499/1234如果一个http消息包含此节（例如，对范围请求的响应或对一系列范围的重叠请求），Content-Range表示传送的范围， Content-Length表示实际传送的字节数。 </p>
<p><strong>Last-modified实体头</strong> </p>
<p>Last-modified实体头指定服务器上保存内容的最后修订时间。  </p>
<table style="width: 710px; height: 988px;" border="1" cellspacing="0" cellpadding="0" width="710" align="center">
<tbody>
<tr>
<td>应答头</td>
<td>说明</td>
</tr>
<tr>
<td>Allow</td>
<td>服务器支持哪些请求方法（如GET、POST等）。</td>
</tr>
<tr>
<td>Content-Encoding</td>
<td>文档的编码（Encode）方法。只有在解码之后才可以得到Content-Type头指定的内容类型。利用gzip压缩文档能够显著地减少HTML文档的下载时间。Java的GZIPOutputStream可以很方便地进行gzip压缩，但只有Unix上的Netscape和Windows上的IE 4、IE 5才支持它。因此，Servlet应该通过查看Accept-Encoding头（即request.getHeader(“Accept-Encoding”)）检查浏览器是否支持gzip，为支持gzip的浏览器返回经gzip压缩的HTML页面，为其他浏览器返回普通页面。</td>
</tr>
<tr>
<td>Content-Length</td>
<td>表示内容长度。只有当浏览器使用持久HTTP连接时才需要这个数据。如果你想要利用持久连接的优势，可以把输出文档写入ByteArrayOutputStram，完成后查看其大小，然后把该值放入Content-Length头，最后通过byteArrayStream.writeTo(response.getOutputStream()发送内容。</td>
</tr>
<tr>
<td>Content-Type</td>
<td>表示后面的文档属于什么MIME类型。Servlet默认为text/plain，但通常需要显式地指定为text/html。由于经常要设置Content-Type，因此HttpServletResponse提供了一个专用的方法setContentTyep。</td>
</tr>
<tr>
<td>Date</td>
<td>当前的GMT时间。你可以用setDateHeader来设置这个头以避免转换时间格式的麻烦。</td>
</tr>
<tr>
<td>Expires</td>
<td>应该在什么时候认为文档已经过期，从而不再缓存它？</td>
</tr>
<tr>
<td>Last-Modified</td>
<td>文档的最后改动时间。客户可以通过If-Modified-Since请求头提供一个日期，该请求将被视为一个条件GET，只有改动时间迟于指定时间的文档才会返回，否则返回一个304（Not Modified）状态。Last-Modified也可用setDateHeader方法来设置。</td>
</tr>
<tr>
<td>Location</td>
<td>表示客户应当到哪里去提取文档。Location通常不是直接设置的，而是通过HttpServletResponse的sendRedirect方法，该方法同时设置状态代码为302。</td>
</tr>
<tr>
<td>Refresh</td>
<td>表示浏览器应该在多少时间之后刷新文档，以秒计。除了刷新当前文档之外，你还可以通过setHeader(“Refresh”, “5; URL=http://host/path”)让浏览器读取指定的页面。<br />
注意这种功能通常是通过设置HTML页面HEAD区的＜META HTTP-EQUIV=”Refresh” CONTENT=”5;URL=http://host/path”＞实现，这是因为，自动刷新或重定向对于那些不能使用CGI或Servlet的HTML编写者十分重要。但是，对于Servlet来说，直接设置Refresh头更加方便。注意Refresh的意义是“N秒之后刷新本页面或访问指定页面”，而不是“每隔N秒刷新本页面或访问指定页面”。因此，连续刷新要求每次都发送一个Refresh头，而发送204状态代码则可以阻止浏览器继续刷新，不管是使用Refresh头还是＜META HTTP-EQUIV=”Refresh” &#8230;＞。</p>
<p>注意Refresh头不属于HTTP 1.1正式规范的一部分，而是一个扩展，但Netscape和IE都支持它。</td>
</tr>
<tr>
<td>Server</td>
<td>服务器名字。Servlet一般不设置这个值，而是由Web服务器自己设置。</td>
</tr>
<tr>
<td>Set-Cookie</td>
<td>设置和页面关联的Cookie。Servlet不应使用response.setHeader(“Set-Cookie”, &#8230;)，而是应使用HttpServletResponse提供的专用方法addCookie。参见下文有关Cookie设置的讨论。</td>
</tr>
<tr>
<td>WWW-Authenticate</td>
<td>客户应该在Authorization头中提供什么类型的授权信息？在包含401（Unauthorized）状态行的应答中这个头是必需的。例如，response.setHeader(“WWW-Authenticate”, “BASIC realm=＼”executives＼”")。<br />
注意Servlet一般不进行这方面的处理，而是让Web服务器的专门机制来控制受密码保护页面的访问（例如.htaccess）。</td>
</tr>
</tbody>
</table>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li>2009年02月27号 -- <a href="http://ourapache.com/archives/200" title="header常用指令">header常用指令</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/193" title="header Content-Type类型">header Content-Type类型</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/190" title="header Content-Disposition参数说明">header Content-Disposition参数说明</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/187" title="header中的Cache-control参数说明">header中的Cache-control参数说明</a></li></ul>
	标签：<a href="http://ourapache.com/archives/tag/header" title="header" rel="tag">header</a>, <a href="http://ourapache.com/archives/category/http" title="HTTP相关知识" rel="tag">HTTP相关知识</a><br />
]]></content:encoded>
			<wfw:commentRss>http://ourapache.com/archives/206/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>header常用指令</title>
		<link>http://ourapache.com/archives/200</link>
		<comments>http://ourapache.com/archives/200#comments</comments>
		<pubDate>Fri, 27 Feb 2009 03:13:13 +0000</pubDate>
		<dc:creator>OurApache</dc:creator>
				<category><![CDATA[HTTP相关知识]]></category>
		<category><![CDATA[header]]></category>

		<guid isPermaLink="false">http://www.ourapache.com/?p=200</guid>
		<description><![CDATA[header分为三部分：
第一部分为HTTP协议的版本(HTTP-Version)；
第二部分为状态代码(Status)；
第三部分为原因短语(Reason-Phrase)。]]></description>
			<content:encoded><![CDATA[<p>header分为三部分：<br />
第一部分为HTTP协议的版本(HTTP-Version)；<br />
第二部分为状态代码(Status)；<br />
第三部分为原因短语(Reason-Phrase)。</p>
<blockquote><p>// fix 404 pages:   用这个header指令来解决URL重写产生的404 <a href="http://ourapache.com/archives/tag/header" class="st_tag internal_tag" rel="tag" title="标签 header 下的日志">header</a><br />
header(&#8216;HTTP/1.1 200 OK&#8217;);  <br />
 <br />
// set 404 header:   页面没找到<br />
header(&#8216;HTTP/1.1 404 Not Found&#8217;);  <br />
 <br />
//页面被永久删除，可以告诉搜索引擎更新它们的urls<br />
// set Moved Permanently header (good for redrictions)  <br />
// use with location header  <br />
header(&#8216;HTTP/1.1 301 Moved Permanently&#8217;); </p>
<p>// 访问受限<br />
header(&#8216;HTTP/1.1 403 Forbidden&#8217;);</p>
<p>// 服务器错误<br />
header(&#8216;HTTP/1.1 500 Internal Server Error&#8217;);<br />
 <br />
// 重定向到一个新的位置<br />
// redirect to a new location:  <br />
header(&#8216;Location: <a href="http://www.example.org/'">http://www.example.org/&#8217;</a>);  <br />
 <br />
延迟一段时间后重定向<br />
// redrict with delay:  <br />
header(&#8216;Refresh: 10; url=http://www.example.org/&#8217;);  <br />
print &#8216;You will be redirected in 10 seconds&#8217;;  <br />
 <br />
// 覆盖 X-Powered-By value<br />
// override X-Powered-By: PHP:  <br />
header(&#8216;X-Powered-By: PHP/4.4.0&#8242;);  <br />
header(&#8216;X-Powered-By: Brain/0.6b&#8217;);  <br />
 <br />
// 内容语言 (en = English)<br />
// content language (en = English)  <br />
header(&#8216;Content-language: en&#8217;);  <br />
 <br />
//最后修改时间(在缓存的时候可以用到)<br />
// last modified (good for caching)  <br />
$time = time() &#8211; 60; // or filemtime($fn), etc  <br />
header(&#8216;Last-Modified: &#8216;.gmdate(&#8216;D, d M Y H:i:s&#8217;, $time).&#8217; GMT&#8217;);  <br />
 <br />
// 告诉浏览器要获取的内容还没有更新<br />
// header for telling the browser that the content  <br />
// did not get changed  <br />
header(&#8216;HTTP/1.1 304 Not Modified&#8217;);  <br />
 <br />
// 设置内容的长度 (缓存的时候可以用到):<br />
// set content length (good for caching):  <br />
header(&#8216;Content-Length: 1234&#8242;);  <br />
 <br />
// 用来下载文件:<br />
// Headers for an download:  <br />
header(&#8216;<a href="http://ourapache.com/archives/tag/content-type" class="st_tag internal_tag" rel="tag" title="标签 Content-Type 下的日志">Content-Type</a>: application/octet-stream&#8217;);  <br />
header(&#8216;<a href="http://ourapache.com/archives/tag/content-disposition" class="st_tag internal_tag" rel="tag" title="标签 Content-Disposition 下的日志">Content-Disposition</a>: attachment; filename=”example.zip”&#8216;);  <br />
header(&#8216;Content-Transfer-Encoding: binary&#8217;);  <br />
 <br />
// 禁止缓存当前文档:<br />
// load the file to send:readfile(&#8216;example.zip&#8217;);  <br />
// Disable caching of the current document:  <br />
header(&#8216;<a href="http://ourapache.com/archives/tag/cache-control" class="st_tag internal_tag" rel="tag" title="标签 Cache-control 下的日志">Cache-Control</a>: no-cache, no-store, max-age=0, must-revalidate&#8217;);  <br />
header(&#8216;Expires: Mon, 26 Jul 1997 05:00:00 GMT&#8217;);   </p>
<p>// 设置内容类型:<br />
// Date in the pastheader(&#8216;Pragma: no-cache&#8217;);  <br />
// set content type:  <br />
header(&#8216;Content-Type: text/html; charset=iso-8859-1&#8242;);  <br />
header(&#8216;Content-Type: text/html; charset=utf-8&#8242;);  <br />
header(&#8216;Content-Type: text/plain&#8217;);  <br />
 <br />
// plain text file  <br />
header(&#8216;Content-Type: image/jpeg&#8217;);   <br />
 <br />
// JPG picture  <br />
header(&#8216;Content-Type: application/zip&#8217;);   <br />
 <br />
// ZIP file  <br />
header(&#8216;Content-Type: application/pdf&#8217;);   <br />
 <br />
// PDF file  <br />
header(&#8216;Content-Type: audio/mpeg&#8217;);   <br />
 <br />
// Audio MPEG (MP3,&#8230;) file  <br />
header(&#8216;Content-Type: application/x-shockwave-flash&#8217;);   <br />
 <br />
// 显示登录对话框，可以用来进行HTTP认证<br />
// Flash animation// show sign in box  <br />
header(&#8216;HTTP/1.1 401 Unauthorized&#8217;);  <br />
header(&#8216;WWW-Authenticate: Basic realm=”Top Secret”&#8216;);  <br />
print &#8216;Text that will be displayed if the user hits cancel or &#8216;;  <br />
print &#8216;enters wrong login data&#8217;;?&gt;</p></blockquote>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li>2009年02月27号 -- <a href="http://ourapache.com/archives/206" title="http header详解">http header详解</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/193" title="header Content-Type类型">header Content-Type类型</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/190" title="header Content-Disposition参数说明">header Content-Disposition参数说明</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/187" title="header中的Cache-control参数说明">header中的Cache-control参数说明</a></li></ul>
	标签：<a href="http://ourapache.com/archives/tag/header" title="header" rel="tag">header</a>, <a href="http://ourapache.com/archives/category/http" title="HTTP相关知识" rel="tag">HTTP相关知识</a><br />
]]></content:encoded>
			<wfw:commentRss>http://ourapache.com/archives/200/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>header Content-Type类型</title>
		<link>http://ourapache.com/archives/193</link>
		<comments>http://ourapache.com/archives/193#comments</comments>
		<pubDate>Fri, 27 Feb 2009 03:05:24 +0000</pubDate>
		<dc:creator>OurApache</dc:creator>
				<category><![CDATA[HTTP相关知识]]></category>
		<category><![CDATA[Content-Type]]></category>
		<category><![CDATA[header]]></category>

		<guid isPermaLink="false">http://www.ourapache.com/?p=193</guid>
		<description><![CDATA[具体使用如：header('Content-Type: audio/mpeg');

最近在做MP3防盗链时要查的header的相关信息，网上关于MP3的Content-Type的就有五花8门，下面应该是比较全而且正确的。]]></description>
			<content:encoded><![CDATA[<p>具体使用如：<a href="http://ourapache.com/archives/tag/header" class="st_tag internal_tag" rel="tag" title="标签 header 下的日志">header</a>(&#8216;<a href="http://ourapache.com/archives/tag/content-type" class="st_tag internal_tag" rel="tag" title="标签 Content-Type 下的日志">Content-Type</a>: audio/mpeg&#8217;);</p>
<p>最近在做MP3防盗链时要查的header的相关信息，网上关于MP3的Content-Type的就有五花8门，下面应该是比较全而且正确的。</p>
<p>Content-type 文件类型列表:</p>
<blockquote><p>&lt;?php</p>
<p>$mimetypes = array(</p>
<p>&#8216;ez&#8217; =&gt; &#8216;application/andrew-inset&#8217;,</p>
<p>&#8216;hqx&#8217; =&gt; &#8216;application/mac-binhex40&#8242;,</p>
<p>&#8216;cpt&#8217; =&gt; &#8216;application/mac-compactpro&#8217;,</p>
<p>&#8216;doc&#8217; =&gt; &#8216;application/msword&#8217;,</p>
<p>&#8216;bin&#8217; =&gt; &#8216;application/octet-stream&#8217;,</p>
<p>&#8216;dms&#8217; =&gt; &#8216;application/octet-stream&#8217;,</p>
<p>&#8216;lha&#8217; =&gt; &#8216;application/octet-stream&#8217;,</p>
<p>&#8216;lzh&#8217; =&gt; &#8216;application/octet-stream&#8217;,</p>
<p>&#8216;exe&#8217; =&gt; &#8216;application/octet-stream&#8217;,</p>
<p>&#8216;class&#8217; =&gt; &#8216;application/octet-stream&#8217;,</p>
<p>&#8216;so&#8217; =&gt; &#8216;application/octet-stream&#8217;,</p>
<p>&#8216;dll&#8217; =&gt; &#8216;application/octet-stream&#8217;,</p>
<p>&#8216;oda&#8217; =&gt; &#8216;application/oda&#8217;,</p>
<p>&#8216;pdf&#8217; =&gt; &#8216;application/pdf&#8217;,</p>
<p>&#8216;ai&#8217; =&gt; &#8216;application/postscript&#8217;,</p>
<p>&#8216;eps&#8217; =&gt; &#8216;application/postscript&#8217;,</p>
<p>&#8216;ps&#8217; =&gt; &#8216;application/postscript&#8217;,</p>
<p>&#8216;smi&#8217; =&gt; &#8216;application/smil&#8217;,</p>
<p>&#8216;smil&#8217; =&gt; &#8216;application/smil&#8217;,</p>
<p>&#8216;mif&#8217; =&gt; &#8216;application/vnd.mif&#8217;,</p>
<p>&#8216;xls&#8217; =&gt; &#8216;application/vnd.ms-excel&#8217;,</p>
<p>&#8216;ppt&#8217; =&gt; &#8216;application/vnd.ms-powerpoint&#8217;,</p>
<p>&#8216;wbxml&#8217; =&gt; &#8216;application/vnd.wap.wbxml&#8217;,</p>
<p>&#8216;wmlc&#8217; =&gt; &#8216;application/vnd.wap.wmlc&#8217;,</p>
<p>&#8216;wmlsc&#8217; =&gt; &#8216;application/vnd.wap.wmlscriptc&#8217;,</p>
<p>&#8216;bcpio&#8217; =&gt; &#8216;application/x-bcpio&#8217;,</p>
<p>&#8216;vcd&#8217; =&gt; &#8216;application/x-cdlink&#8217;,</p>
<p>&#8216;pgn&#8217; =&gt; &#8216;application/x-chess-pgn&#8217;,</p>
<p>&#8216;cpio&#8217; =&gt; &#8216;application/x-cpio&#8217;,</p>
<p>&#8216;csh&#8217; =&gt; &#8216;application/x-csh&#8217;,</p>
<p>&#8216;dcr&#8217; =&gt; &#8216;application/x-director&#8217;,</p>
<p>&#8216;dir&#8217; =&gt; &#8216;application/x-director&#8217;,</p>
<p>&#8216;dxr&#8217; =&gt; &#8216;application/x-director&#8217;,</p>
<p>&#8216;dvi&#8217; =&gt; &#8216;application/x-dvi&#8217;,</p>
<p>&#8216;spl&#8217; =&gt; &#8216;application/x-futuresplash&#8217;,</p>
<p>&#8216;gtar&#8217; =&gt; &#8216;application/x-gtar&#8217;,</p>
<p>&#8216;hdf&#8217; =&gt; &#8216;application/x-hdf&#8217;,</p>
<p>&#8216;js&#8217; =&gt; &#8216;application/x-javascript&#8217;,</p>
<p>&#8216;skp&#8217; =&gt; &#8216;application/x-koan&#8217;,</p>
<p>&#8216;skd&#8217; =&gt; &#8216;application/x-koan&#8217;,</p>
<p>&#8216;skt&#8217; =&gt; &#8216;application/x-koan&#8217;,</p>
<p>&#8216;skm&#8217; =&gt; &#8216;application/x-koan&#8217;,</p>
<p>&#8216;latex&#8217; =&gt; &#8216;application/x-latex&#8217;,</p>
<p>&#8216;nc&#8217; =&gt; &#8216;application/x-netcdf&#8217;,</p>
<p>&#8216;cdf&#8217; =&gt; &#8216;application/x-netcdf&#8217;,</p>
<p>&#8216;sh&#8217; =&gt; &#8216;application/x-sh&#8217;,</p>
<p>&#8216;shar&#8217; =&gt; &#8216;application/x-shar&#8217;,</p>
<p>&#8216;swf&#8217; =&gt; &#8216;application/x-shockwave-flash&#8217;,</p>
<p>&#8216;sit&#8217; =&gt; &#8216;application/x-stuffit&#8217;,</p>
<p>&#8216;sv4cpio&#8217; =&gt; &#8216;application/x-sv4cpio&#8217;,</p>
<p>&#8216;sv4crc&#8217; =&gt; &#8216;application/x-sv4crc&#8217;,</p>
<p>&#8216;tar&#8217; =&gt; &#8216;application/x-tar&#8217;,</p>
<p>&#8216;tcl&#8217; =&gt; &#8216;application/x-tcl&#8217;,</p>
<p>&#8216;tex&#8217; =&gt; &#8216;application/x-tex&#8217;,</p>
<p>&#8216;texinfo&#8217; =&gt; &#8216;application/x-texinfo&#8217;,</p>
<p>&#8216;texi&#8217; =&gt; &#8216;application/x-texinfo&#8217;,</p>
<p>&#8216;t&#8217; =&gt; &#8216;application/x-troff&#8217;,</p>
<p>&#8216;tr&#8217; =&gt; &#8216;application/x-troff&#8217;,</p>
<p>&#8216;roff&#8217; =&gt; &#8216;application/x-troff&#8217;,</p>
<p>&#8216;man&#8217; =&gt; &#8216;application/x-troff-man&#8217;,</p>
<p>&#8216;me&#8217; =&gt; &#8216;application/x-troff-me&#8217;,</p>
<p>&#8216;ms&#8217; =&gt; &#8216;application/x-troff-ms&#8217;,</p>
<p>&#8216;ustar&#8217; =&gt; &#8216;application/x-ustar&#8217;,</p>
<p>&#8216;src&#8217; =&gt; &#8216;application/x-wais-source&#8217;,</p>
<p>&#8216;xhtml&#8217; =&gt; &#8216;application/xhtml+xml&#8217;,</p>
<p>&#8216;xht&#8217; =&gt; &#8216;application/xhtml+xml&#8217;,</p>
<p>&#8216;zip&#8217; =&gt; &#8216;application/zip&#8217;,</p>
<p>&#8216;au&#8217; =&gt; &#8216;audio/basic&#8217;,</p>
<p>&#8216;snd&#8217; =&gt; &#8216;audio/basic&#8217;,</p>
<p>&#8216;mid&#8217; =&gt; &#8216;audio/midi&#8217;,</p>
<p>&#8216;midi&#8217; =&gt; &#8216;audio/midi&#8217;,</p>
<p>&#8216;kar&#8217; =&gt; &#8216;audio/midi&#8217;,</p>
<p>&#8216;mpga&#8217; =&gt; &#8216;audio/mpeg&#8217;,</p>
<p>&#8216;mp2&#8242; =&gt; &#8216;audio/mpeg&#8217;,</p>
<p>&#8216;mp3&#8242; =&gt; &#8216;audio/mpeg&#8217;,</p>
<p>&#8216;aif&#8217; =&gt; &#8216;audio/x-aiff&#8217;,</p>
<p>&#8216;aiff&#8217; =&gt; &#8216;audio/x-aiff&#8217;,</p>
<p>&#8216;aifc&#8217; =&gt; &#8216;audio/x-aiff&#8217;,</p>
<p>&#8216;m3u&#8217; =&gt; &#8216;audio/x-mpegurl&#8217;,</p>
<p>&#8216;ram&#8217; =&gt; &#8216;audio/x-pn-realaudio&#8217;,</p>
<p>&#8216;rm&#8217; =&gt; &#8216;audio/x-pn-realaudio&#8217;,</p>
<p>&#8216;rpm&#8217; =&gt; &#8216;audio/x-pn-realaudio-plugin&#8217;,</p>
<p>&#8216;ra&#8217; =&gt; &#8216;audio/x-realaudio&#8217;,</p>
<p>&#8216;wav&#8217; =&gt; &#8216;audio/x-wav&#8217;,</p>
<p>&#8216;pdb&#8217; =&gt; &#8216;chemical/x-pdb&#8217;,</p>
<p>&#8216;xyz&#8217; =&gt; &#8216;chemical/x-xyz&#8217;,</p>
<p>&#8216;bmp&#8217; =&gt; &#8216;image/bmp&#8217;,</p>
<p>&#8216;gif&#8217; =&gt; &#8216;image/gif&#8217;,</p>
<p>&#8216;ief&#8217; =&gt; &#8216;image/ief&#8217;,</p>
<p>&#8216;jpeg&#8217; =&gt; &#8216;image/jpeg&#8217;,</p>
<p>&#8216;jpg&#8217; =&gt; &#8216;image/jpeg&#8217;,</p>
<p>&#8216;jpe&#8217; =&gt; &#8216;image/jpeg&#8217;,</p>
<p>&#8216;png&#8217; =&gt; &#8216;image/png&#8217;,</p>
<p>&#8216;tiff&#8217; =&gt; &#8216;image/tiff&#8217;,</p>
<p>&#8216;tif&#8217; =&gt; &#8216;image/tiff&#8217;,</p>
<p>&#8216;djvu&#8217; =&gt; &#8216;image/vnd.djvu&#8217;,</p>
<p>&#8216;djv&#8217; =&gt; &#8216;image/vnd.djvu&#8217;,</p>
<p>&#8216;wbmp&#8217; =&gt; &#8216;image/vnd.wap.wbmp&#8217;,</p>
<p>&#8216;ras&#8217; =&gt; &#8216;image/x-cmu-raster&#8217;,</p>
<p>&#8216;pnm&#8217; =&gt; &#8216;image/x-portable-anymap&#8217;,</p>
<p>&#8216;pbm&#8217; =&gt; &#8216;image/x-portable-bitmap&#8217;,</p>
<p>&#8216;pgm&#8217; =&gt; &#8216;image/x-portable-graymap&#8217;,</p>
<p>&#8216;ppm&#8217; =&gt; &#8216;image/x-portable-pixmap&#8217;,</p>
<p>&#8216;rgb&#8217; =&gt; &#8216;image/x-rgb&#8217;,</p>
<p>&#8216;xbm&#8217; =&gt; &#8216;image/x-xbitmap&#8217;,</p>
<p>&#8216;xpm&#8217; =&gt; &#8216;image/x-xpixmap&#8217;,</p>
<p>&#8216;xwd&#8217; =&gt; &#8216;image/x-xwindowdump&#8217;,</p>
<p>&#8216;igs&#8217; =&gt; &#8216;model/iges&#8217;,</p>
<p>&#8216;iges&#8217; =&gt; &#8216;model/iges&#8217;,</p>
<p>&#8216;msh&#8217; =&gt; &#8216;model/mesh&#8217;,</p>
<p>&#8216;mesh&#8217; =&gt; &#8216;model/mesh&#8217;,</p>
<p>&#8216;silo&#8217; =&gt; &#8216;model/mesh&#8217;,</p>
<p>&#8216;wrl&#8217; =&gt; &#8216;model/vrml&#8217;,</p>
<p>&#8216;vrml&#8217; =&gt; &#8216;model/vrml&#8217;,</p>
<p>&#8216;css&#8217; =&gt; &#8216;text/css&#8217;,</p>
<p>&#8216;html&#8217; =&gt; &#8216;text/html&#8217;,</p>
<p>&#8216;htm&#8217; =&gt; &#8216;text/html&#8217;,</p>
<p>&#8216;asc&#8217; =&gt; &#8216;text/plain&#8217;,</p>
<p>&#8216;txt&#8217; =&gt; &#8216;text/plain&#8217;,</p>
<p>&#8216;rtx&#8217; =&gt; &#8216;text/richtext&#8217;,</p>
<p>&#8216;rtf&#8217; =&gt; &#8216;text/rtf&#8217;,</p>
<p>&#8216;sgml&#8217; =&gt; &#8216;text/sgml&#8217;,</p>
<p>&#8216;sgm&#8217; =&gt; &#8216;text/sgml&#8217;,</p>
<p>&#8216;tsv&#8217; =&gt; &#8216;text/tab-separated-values&#8217;,</p>
<p>&#8216;wml&#8217; =&gt; &#8216;text/vnd.wap.wml&#8217;,</p>
<p>&#8216;wmls&#8217; =&gt; &#8216;text/vnd.wap.wmlscript&#8217;,</p>
<p>&#8216;etx&#8217; =&gt; &#8216;text/x-setext&#8217;,</p>
<p>&#8216;xsl&#8217; =&gt; &#8216;text/xml&#8217;,</p>
<p>&#8216;xml&#8217; =&gt; &#8216;text/xml&#8217;,</p>
<p>&#8216;mpeg&#8217; =&gt; &#8216;video/mpeg&#8217;,</p>
<p>&#8216;mpg&#8217; =&gt; &#8216;video/mpeg&#8217;,</p>
<p>&#8216;mpe&#8217; =&gt; &#8216;video/mpeg&#8217;,</p>
<p>&#8216;qt&#8217; =&gt; &#8216;video/quicktime&#8217;,</p>
<p>&#8216;mov&#8217; =&gt; &#8216;video/quicktime&#8217;,</p>
<p>&#8216;mxu&#8217; =&gt; &#8216;video/vnd.mpegurl&#8217;,</p>
<p>&#8216;avi&#8217; =&gt; &#8216;video/x-msvideo&#8217;,</p>
<p>&#8216;movie&#8217; =&gt; &#8216;video/x-sgi-movie&#8217;,</p>
<p>&#8216;ice&#8217; =&gt; &#8216;x-conference/x-cooltalk&#8217;,</p>
<p>);<br />
?&gt;</p></blockquote>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li>2009年02月27号 -- <a href="http://ourapache.com/archives/206" title="http header详解">http header详解</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/200" title="header常用指令">header常用指令</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/190" title="header Content-Disposition参数说明">header Content-Disposition参数说明</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/187" title="header中的Cache-control参数说明">header中的Cache-control参数说明</a></li></ul>
	标签：<a href="http://ourapache.com/archives/tag/content-type" title="Content-Type" rel="tag">Content-Type</a>, <a href="http://ourapache.com/archives/tag/header" title="header" rel="tag">header</a>, <a href="http://ourapache.com/archives/category/http" title="HTTP相关知识" rel="tag">HTTP相关知识</a><br />
]]></content:encoded>
			<wfw:commentRss>http://ourapache.com/archives/193/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>header Content-Disposition参数说明</title>
		<link>http://ourapache.com/archives/190</link>
		<comments>http://ourapache.com/archives/190#comments</comments>
		<pubDate>Fri, 27 Feb 2009 03:00:39 +0000</pubDate>
		<dc:creator>OurApache</dc:creator>
				<category><![CDATA[HTTP相关知识]]></category>
		<category><![CDATA[Content-Disposition]]></category>
		<category><![CDATA[header]]></category>

		<guid isPermaLink="false">http://www.ourapache.com/?p=190</guid>
		<description><![CDATA[Content-Disposition参数：
attachment --- 作为附件下载    
inline --- 在线打开
具体使用如：header("Content-Disposition: inline; filename=文件名.mp3");]]></description>
			<content:encoded><![CDATA[<p>Content-Disposition参数：<br />
attachment &#8212; 作为附件下载   <br />
inline &#8212; 在线打开<br />
具体使用如：<a href="http://ourapache.com/archives/tag/header" class="st_tag internal_tag" rel="tag" title="标签 header 下的日志">header</a>(“<a href="http://ourapache.com/archives/tag/content-disposition" class="st_tag internal_tag" rel="tag" title="标签 Content-Disposition 下的日志">Content-Disposition</a>: inline; filename=文件名.mp3&#8243;);</p>
<p>需要注意以下几个问题：<br />
Content-disposition是MIME协议的扩展，由于多方面的安全性考虑没有被标准化，所以可能某些浏览器不支持，比如说IE4.01</p>
<p>我们可以使用程序来使用它，也可以在web服务器（比如IIS）上使用它，只需要在http header上做相应的设置即可</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li>2009年02月27号 -- <a href="http://ourapache.com/archives/206" title="http header详解">http header详解</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/200" title="header常用指令">header常用指令</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/193" title="header Content-Type类型">header Content-Type类型</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/187" title="header中的Cache-control参数说明">header中的Cache-control参数说明</a></li></ul>
	标签：<a href="http://ourapache.com/archives/tag/content-disposition" title="Content-Disposition" rel="tag">Content-Disposition</a>, <a href="http://ourapache.com/archives/tag/header" title="header" rel="tag">header</a>, <a href="http://ourapache.com/archives/category/http" title="HTTP相关知识" rel="tag">HTTP相关知识</a><br />
]]></content:encoded>
			<wfw:commentRss>http://ourapache.com/archives/190/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>header中的Cache-control参数说明</title>
		<link>http://ourapache.com/archives/187</link>
		<comments>http://ourapache.com/archives/187#comments</comments>
		<pubDate>Fri, 27 Feb 2009 02:46:50 +0000</pubDate>
		<dc:creator>OurApache</dc:creator>
				<category><![CDATA[HTTP相关知识]]></category>
		<category><![CDATA[Cache-control]]></category>
		<category><![CDATA[header]]></category>
		<category><![CDATA[缓存]]></category>

		<guid isPermaLink="false">http://www.ourapache.com/?p=187</guid>
		<description><![CDATA[    网页的缓存是由HTTP消息头中的“Cache-control”来控制的，常见的取值有private、no-cache、max-age、must-revalidate等，默认为private。]]></description>
			<content:encoded><![CDATA[<p>    网页的缓存是由HTTP消息头中的“<a href="http://ourapache.com/archives/tag/cache-control" class="st_tag internal_tag" rel="tag" title="标签 Cache-control 下的日志">Cache-control</a>”来控制的，常见的取值有private、no-cache、max-age、must-revalidate等，默认为private。其作用根据不同的重新浏览方式分为以下几种情况：</p>
<p><strong>（1） 打开新窗口</strong><br />
    值为private、no-cache、must-revalidate，那么打开新窗口访问时都会重新访问服务器。<br />
而如果指定了max-age值，那么在此值内的时间里就不会重新访问服务器，例如：<br />
Cache-control: max-age=5(表示当访问此网页后的5秒内再次访问不会去服务器)</p>
<p><strong>（2） 在地址栏回车</strong><br />
    值为private或must-revalidate则只有第一次访问时会访问服务器，以后就不再访问。<br />
    值为no-cache，那么每次都会访问。<br />
    值为max-age，则在过期之前不会重复访问。</p>
<p><strong>（3） 按后退按扭</strong><br />
   值为private、must-revalidate、max-age，则不会重访问，<br />
   值为no-cache，则每次都重复访问</p>
<p><strong>（4） 按刷新按扭</strong><br />
　 无论为何值，都会重复访问</p>
<p>Cache-control值为“no-cache”时，访问此页面不会在Internet临时文章夹留下页面备份。</p>
<p>另外，<strong>通过指定“Expires”值也会影响到缓存</strong>。例如，指定Expires值为一个早已过去的时间，那么访问此网时若重复在地址栏按回车，那么每次都会重复访问： Expires: Fri, 31 Dec 1999 16:00:00 GMT</p>
<p>比如：禁止页面在IE中缓存</p>
<p>http响应消息头部设置：</p>
<blockquote><p>CacheControl = no-cache<br />
Pragma=no-cache<br />
Expires = -1</p></blockquote>
<p>Expires是个好东东，如果服务器上的网页经常变化，就把它设置为-1，表示立即过期。如果一个网页每天凌晨1点更新，可以把Expires设置为第二天的凌晨1点。</p>
<p>当HTTP1.1服务器指定CacheControl = no-cache时，浏览器就不会缓存该网页。</p>
<p>旧式 HTTP 1.0 服务器不能使用 Cache-Control 标题。</p>
<p>所以为了向后兼容 HTTP 1.0 服务器，IE使用Pragma:no-cache 标题对 HTTP 提供特殊支持。</p>
<p>如果客户端通过安全连接 (https://)与服务器通讯，且服务器在响应中返回 Pragma:no-cache 标题，则 Internet Explorer不会缓存此响应。注意：Pragma:no-cache 仅当在安全连接中使用时才防止缓存，如果在非安全页中使用，处理方式与Expires:-1相同，该页将被缓存，但被标记为立即过期。</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li>2009年02月27号 -- <a href="http://ourapache.com/archives/209" title="面向站长和网站管理员的Web缓存加速指南">面向站长和网站管理员的Web缓存加速指南</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/206" title="http header详解">http header详解</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/200" title="header常用指令">header常用指令</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/193" title="header Content-Type类型">header Content-Type类型</a></li><li>2009年02月27号 -- <a href="http://ourapache.com/archives/190" title="header Content-Disposition参数说明">header Content-Disposition参数说明</a></li><li>2009年02月25号 -- <a href="http://ourapache.com/archives/178" title="Apache缓存系统">Apache缓存系统</a></li><li>2009年02月25号 -- <a href="http://ourapache.com/archives/165" title="Apache 设置web 缓存">Apache 设置web 缓存</a></li><li>2009年02月7号 -- <a href="http://ourapache.com/archives/89" title="Apache PHP利用HTTP缓存协议原理解析及应用">Apache PHP利用HTTP缓存协议原理解析及应用</a></li></ul>
	标签：<a href="http://ourapache.com/archives/tag/cache-control" title="Cache-control" rel="tag">Cache-control</a>, <a href="http://ourapache.com/archives/tag/header" title="header" rel="tag">header</a>, <a href="http://ourapache.com/archives/category/http" title="HTTP相关知识" rel="tag">HTTP相关知识</a>, <a href="http://ourapache.com/archives/tag/%e7%bc%93%e5%ad%98" title="缓存" rel="tag">缓存</a><br />
]]></content:encoded>
			<wfw:commentRss>http://ourapache.com/archives/187/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

