当浏览器发送了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 |
相关推荐
* 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...
for Header in IdHTTP.Response.Headers.Fields do Writeln(Header.Name + ': ' + Header.Value); ``` 更高级的使用场景,比如设置自定义认证、处理Cookie、代理设置等,也可以通过IdHTTP的Request和Response属性...
**Response Header Fields(响应头)** 响应头字段由服务器发送,提供了关于响应的附加信息,通常涉及服务器的状态和能力: 1. **Accept-Ranges**: 服务器支持的范围请求类型,如字节范围。 2. **Age**: 缓存响应的...
3. **响应头(Response Header Fields)**:这些字段提供关于响应的附加信息。例如: - `Accept-Ranges`:告知客户端服务器是否支持范围请求。 - `Location`:在重定向时告诉客户端新的URL。 - `Server`:服务器...
此外,ABAP 中还提供了一些其他的接口和类,例如 IF_HTTP_ENTITY、IF_HTTP_HEADER_FIELDS 等,提供了对 HTTP 头信息和主体信息的访问。 ABAP 中对 HTTP 的支持提供了灵活的方式来与外部 HTTP 服务器进行交互,实现...
Response.AddHeader "Content-Disposition", "attachment; filename=yourfile.xls" ``` 这样浏览器会将响应内容当作Excel文件下载,而不是显示在网页上。 3. **输出HTML表格**:使用Response.Write将生成的HTML...
Response.AddHeader "Content-Disposition", "attachment; filename=export.csv" sql = "SELECT * FROM YourTable" '替换为你的SQL查询 Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, conn '输出...
Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.csv"); Response.ContentType = "application/csv"; Response.Charset = ""; StringWriter sw = new StringWriter(); ...
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 ...
$post_fields = http_build_query($post_data); // 初始化cURL会话 $ch = curl_init(); // 设置选项 curl_setopt($ch, CURLOPT_POST, 1); // 设置为POST请求 curl_setopt($ch, CURLOPT_HEADER, 0); // 不...
1 Introduction ...................................................7 1.1 Purpose....................................................... 6.2 Response Header Fields ......................................41
- **6.4 Response Header Fields(响应头域)**:仅适用于响应消息。 - **6.5 End-to-end and Hop-by-hop Headers(端到端&点到点的头域)**:前者在整个消息传输过程中保持不变,后者在每个转发节点都可能发生...
HTTP请求消息和响应消息都遵循相同的格式,由起始行、零个或多个头字段(header fields)、一个空行(即,仅有一个CRLF的行)以及可选的消息体(body)组成。 关于HTTP请求方法,文档中提到,HTTP为请求提供了一组...
可以通过TIdHTTP的StatusCode属性获取状态码,HeaderFields属性可以访问所有响应头。例如,你可以检查状态码是否为200,表示请求成功。 此外,如果你的POST请求需要发送二进制数据,如图片或文件,你可以使用...
- **HeaderFields**: 一个集合,包含服务器返回的所有头信息,如"Server"、"Date"、"Cache-Control"等。 4. **VB源码中的应用** 在VB源码中,你可能会看到如何利用INET控件和ResponseInfo属性来处理更复杂的网络...
实体包含元信息和内容,元信息以实体头域(entity header fields)的形式存在。 #### 5. 协议遵守要求 - **关键词解释**:本文档使用了一些关键词,如“必须”、“应该”、“可能”等,这些关键词的含义遵循RFC 2119...
- **头域(Header Fields)**:提供关于消息的信息,如消息类型、发送者信息等。 - **消息体(Body)**:携带会话描述和其他相关信息。 #### 六、关键定义 1. **请求(Request)**:包括INVITE、ACK、BYE等多种类型,用于...
Response.AddHeader "Content-Disposition", "attachment; filename=export.xls" ``` 4. **构建HTML表格**:遍历`Recordset`,创建HTML表格结构。你可以自定义字段名,如在`field_name()`方法中指定。例如: ```...
- **实体(Entity)**:实体是请求或响应的有效载荷信息,包括元信息和内容,元信息以实体头域(entity header fields)的形式出现。 #### 4. HTTP/1.1的新特性 - **严格性增强**:HTTP/1.1对协议特征进行了更为严格的...