[转]HTTP Response Header Fields

当浏览器发送了HTTP请求之后,服务器就会通过一个HTTP response来响应这个请求。http header请求完成之后,你的浏览器可能会收到如下的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: http://net.tutsplus.com/xmlrpc.php
Content-Encoding: gzip
Vary: Accept-Encoding, Cookie, User-Agent
<!-- ... rest of the html ... -->

第一行呢被称为“Status Line”,它之后就是http headers,空行完了就开始输出内容了(在这个案例中是一些html输出)。

但你查看页面源代码却不能看到HTTP headers,虽然它们同你能看到的东西一起被传送至浏览器了。

第一个有价值的信息就是协议。目前服务器都会使用 HTTP/1.x 或者 HTTP/1.1。

接下来一个简短的信息代表状态。代码200意味着我们的请求已经发送成功了,服务器将会返回给我们所请求的文档,在头部信息之后。

general-header = Cache-Control

|  Connection 
| Date 
| Pragma 
| Trailer 
| Transfer-Encoding 
| Upgrade 
| Via 
| Warning

response-header = Accept-Ranges          
                       | Age                    
                       | ETag                   
                       | Location               
                       | Proxy-Authenticate     
                        | Retry-After           
                       | Server                 
                       | Vary                   
                       | WWW-Authenticate


Header


解释


示例


Accept-Ranges


表明服务器是否支持指定范围请求及哪种类型的分段请求


Accept-Ranges: bytes


Age


从原始服务器到代理缓存形成的估算时间(以秒计,非负)


Age: 12


Cache-Control


告诉所有的缓存机制是否可以缓存及哪种类型


Cache-Control: no-cache


Date


原始服务器消息发出的时间


Date: Tue, 15 Nov 2010 08:12:31 GMT


ETag


请求变量的实体标签的当前值


ETag: “737060cd8c284d8af7ad3082f209582d”


Pragma


包括实现特定的指令,它可应用到响应链上的任何接收方


Pragma: no-cache


Proxy-Authenticate


它指出认证方案和可应用到代理的该URL上的参数


Proxy-Authenticate: Basic


Retry-After


如果实体暂时不可取,通知客户端在指定时间之后再次尝试


Retry-After: 120


Server


web服务器软件名称


Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)


Trailer


指出头域在分块传输编码的尾部存在


Trailer: Max-Forwards


Transfer-Encoding


文件传输编码


Transfer-Encoding:chunked


Vary


告诉下游代理是使用缓存响应还是从原始服务器请求


Vary: *


Via


告知代理客户端响应是通过哪里发送的


Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)


Warning


警告实体可能存在的问题


Warning: 199 Miscellaneous warning


WWW-Authenticate


表明客户端请求实体应该使用的授权方案


WWW-Authenticate: Basic


Location


用来重定向接收方到非请求URL的位置来完成请求或标识新的资源


Location: http://www.zcmhi.com/archives/94.html


Upgrade


向服务器指定某种传输协议以便服务器进行转换(如果支持)


Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11


Connection


表示是否需要持久连接。(HTTP 1.1默认进行持久连接)


Connection: close

更多详细信息请参阅 http://www.w3.org/Protocols/rfc2616/rfc2616.html

时间: 2024-10-12 13:20:02

[转]HTTP Response Header Fields的相关文章

[SIP01]SIP Header Fields里面各字段用途

INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds Max-Forwards: 70 To: Bob <sip:[email protected]> From: Alice <sip:[email protected]>;tag=1928301774 Call-ID: [email protected] CSeq: 314159 INVITE C

【转】HTTP Response Header 的 Content-Disposition

因为听到有同事讨论JSP输出Excel文件的,就是在页面上有一个[导出]按钮,能够将查询结果导出到Excel文件让用户下载.有人说要用POI在后台生成临时的Excel文件,然后通过读取FileStream写入到OutputStream来解决.其实这个功能不需要这么重型的武器的,虽然很多人讨厌MS,但是不得不承认MS绝对不是乱盖的,IE和Office产品的几近完美的结合就是一个列子.页面里面的Table很容易就可以导出到Excel文件,而且格式都能够完好的保存,所以如果要将查询结果导出到Excel

nginx error: upstream prematurely closed connection while reading response header from upstream

本篇文章由:http://xinpure.com/nginx-error-upstream-prematurely-closed-connection-while-reading-response-header-from-upstream/ 环境描述 Nginx 版本 1.10.2 PHP 版本 7.0.12 Node 版本 5.9.0 本文是想讲一个 Nginx 的错误,为啥还要提及 PHP 和 Node 的版本呢?容我先还原一下应用场景 首先就是我有一个绑定在 3000 端口的 Node S

js如何获取response header信息

信息转自网上 普通的请求JS无法获取,只有ajax请求才能获取到. $.ajax({ type: 'HEAD', // 获取头信息,type=HEAD即可 url : window.location.href, complete: function( xhr,data ){ // 获取相关Http Response header var wpoInfo = { // 服务器端时间 "date" : xhr.getResponseHeader('Date'), // 如果开启了gzip,

Wildfly8 更改response header中的Server参数

项目经过局方安全检查需要屏蔽掉服务器中间件信息,查了一下午,网上看到的都是修改jboss7的,我们使用的wildfly8(jboss改名为wildfly),修改地方不一样,折磨了半天. jboss服务器缺省情况下会在HTTP response header中显示自身的标识,如下:    这样会暴露服务器信息,别人可能就会根据这个信息查找服务器漏洞对服务器进行攻击. 屏蔽方法: 修改domain.xml文件,在wildfly8中,该文件位于   wildfly安装目录下/domain/config

xdebug 一直报错 upstream timed out (110: Connection timed out) while reading response header from upstream

本地主机(Windows环境192.168.66.1)访问虚拟机(192.168.66.139)里面的搭建的php环境(系统centos6.5版本,php版本是5.5.30 ,xdebug 2.4.0),通过命令行pecl install xdebug安装的xdebug, 在php.ini配置xdebug [Xdebug]zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/xdebug.soxdeb

recv() failed (104: Connection reset by peer) while reading response header from upstream

场景: 为了得到用户在线等信息,在客户端做了个ajax轮训: 于是问题就来了, 日志文件 [[email protected] web]# tail -f /data/log/nginx_error.log 2017/06/16 19:20:28 [error] 230555#0: *10228041 recv() failed (104: Connection reset by peer) while reading response header from upstream,client:

ASP.NET MVC中移除冗余Response Header

本文主要介绍如何优化ASP.NET MVC使用IIS时Response Header中的不必要的信息 默认的,创建一个ASP.NET MVC项目,会在Response Header中包含一些敏感的信息,这些信息是没有什么用处的但是会暴露出IIS的配置信息等. 下面是默认的Response Header信息: Cache-Control:private, s-maxage=0 Content-Encoding:gzip Content-Length:8024 Content-Type:text/h

js在返回response header中取值

最近后台给我返回一个字段,放在response header中,让我获取后判断进行下一步操作: 不过在网上查询了n多方法后,还是只能得到conten-type:但是在控制台中response header明明就看到了传递过来的其他字段,就是取不出来,虽然后面又更改了其他方法解决了问题,但是本着遇到问题尽量解决的原则,在午休的时候,通过网上各种查找,终于发现了问题所在:后台的哥们,真的不是我的错,是你们设置的不够啊!!!!!! 后台需要在服务器上设置'Access-Control-Expose-H