`

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

分享到:
评论

相关推荐

    HTTP 请求报头详解

    * Response Header Fields:Accept-Ranges、Age、ETag、Location、Proxy-Authenticate、Retry-After、Server、Vary、WWW-Authenticate * Entity Header Fields:Allow、Content-Encoding、Content-Language、Content...

    delphi操作IdHTTP报头读写

    for Header in IdHTTP.Response.Headers.Fields do Writeln(Header.Name + ': ' + Header.Value); ``` 更高级的使用场景,比如设置自定义认证、处理Cookie、代理设置等,也可以通过IdHTTP的Request和Response属性...

    HTTP 协议 解析

    **Response Header Fields(响应头)** 响应头字段由服务器发送,提供了关于响应的附加信息,通常涉及服务器的状态和能力: 1. **Accept-Ranges**: 服务器支持的范围请求类型,如字节范围。 2. **Age**: 缓存响应的...

    http头的组成[借鉴].pdf

    3. **响应头(Response Header Fields)**:这些字段提供关于响应的附加信息。例如: - `Accept-Ranges`:告知客户端服务器是否支持范围请求。 - `Location`:在重定向时告诉客户端新的URL。 - `Server`:服务器...

    ABAP 中对HTTP的支持

    此外,ABAP 中还提供了一些其他的接口和类,例如 IF_HTTP_ENTITY、IF_HTTP_HEADER_FIELDS 等,提供了对 HTTP 头信息和主体信息的访问。 ABAP 中对 HTTP 的支持提供了灵活的方式来与外部 HTTP 服务器进行交互,实现...

    asp中把数据导出为excel的2种方式,亲测可用

    Response.AddHeader "Content-Disposition", "attachment; filename=yourfile.xls" ``` 这样浏览器会将响应内容当作Excel文件下载,而不是显示在网页上。 3. **输出HTML表格**:使用Response.Write将生成的HTML...

    asp导出Access数据到Excel两种方法实例

    Response.AddHeader "Content-Disposition", "attachment; filename=export.csv" sql = "SELECT * FROM YourTable" '替换为你的SQL查询 Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, conn '输出...

    GridView导入导出

    Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.csv"); Response.ContentType = "application/csv"; Response.Charset = ""; StringWriter sw = new StringWriter(); ...

    servlet2.4doc

    Adds a response header with the given name and date-value. addHeader(String, String) - Method in class javax.servlet.http.HttpServletResponseWrapper The default behavior of this method is to return ...

    php模拟POST提交的4种方法.pdf

    $post_fields = http_build_query($post_data); // 初始化cURL会话 $ch = curl_init(); // 设置选项 curl_setopt($ch, CURLOPT_POST, 1); // 设置为POST请求 curl_setopt($ch, CURLOPT_HEADER, 0); // 不...

    http RFC文件

    1 Introduction ...................................................7 1.1 Purpose....................................................... 6.2 Response Header Fields ......................................41

    SIP协议 (RFC2543中文版)

    - **6.4 Response Header Fields(响应头域)**:仅适用于响应消息。 - **6.5 End-to-end and Hop-by-hop Headers(端到端&点到点的头域)**:前者在整个消息传输过程中保持不变,后者在每个转发节点都可能发生...

    HTTP协议(RFC2616)中文版.pdf

    HTTP请求消息和响应消息都遵循相同的格式,由起始行、零个或多个头字段(header fields)、一个空行(即,仅有一个CRLF的行)以及可选的消息体(body)组成。 关于HTTP请求方法,文档中提到,HTTP为请求提供了一组...

    delphi7下实现http的post操作共4页.pdf

    可以通过TIdHTTP的StatusCode属性获取状态码,HeaderFields属性可以访问所有响应头。例如,你可以检查状态码是否为200,表示请求成功。 此外,如果你的POST请求需要发送二进制数据,如图片或文件,你可以使用...

    INET控件ResponseInfo属性

    - **HeaderFields**: 一个集合,包含服务器返回的所有头信息,如"Server"、"Date"、"Cache-Control"等。 4. **VB源码中的应用** 在VB源码中,你可能会看到如何利用INET控件和ResponseInfo属性来处理更复杂的网络...

    http协议RFC

    实体包含元信息和内容,元信息以实体头域(entity header fields)的形式存在。 #### 5. 协议遵守要求 - **关键词解释**:本文档使用了一些关键词,如“必须”、“应该”、“可能”等,这些关键词的含义遵循RFC 2119...

    rfc技术文档

    - **头域(Header Fields)**:提供关于消息的信息,如消息类型、发送者信息等。 - **消息体(Body)**:携带会话描述和其他相关信息。 #### 六、关键定义 1. **请求(Request)**:包括INVITE、ACK、BYE等多种类型,用于...

    整理出的导出sql数据生成excel

    Response.AddHeader "Content-Disposition", "attachment; filename=export.xls" ``` 4. **构建HTML表格**:遍历`Recordset`,创建HTML表格结构。你可以自定义字段名,如在`field_name()`方法中指定。例如: ```...

    HTTP协议(RFC2616)中文版

    - **实体(Entity)**:实体是请求或响应的有效载荷信息,包括元信息和内容,元信息以实体头域(entity header fields)的形式出现。 #### 4. HTTP/1.1的新特性 - **严格性增强**:HTTP/1.1对协议特征进行了更为严格的...

Global site tag (gtag.js) - Google Analytics