• php http头设置相关信息


    HTTP 状态码

    状态码用来告诉HTTP客户端,HTTP服务器是否产生了预期的Response。

    HTTP/1.1中定义了5类状态码, 状态码由三位数字组成,第一个数字定义了响应的类别

    • 1XX 提示信息 - 表示请求已被成功接收,继续处理
    • 2XX 成功 - 表示请求已被成功接收,理解,接受
    • 3XX 重定向 - 要完成请求必须进行更进一步的处理
    • 4XX 客户端错误 - 请求有语法错误或请求无法实现
    • 5XX 服务器端错误 - 服务器未能实现合法的请求

    PHP在响应报文中添加状态码示例:

        <?php
        public function response_code(){
            http_code(303);
        }
    
        function http_code($num){
            $http = array (
                100 => "HTTP/1.1 100 Continue",
                101 => "HTTP/1.1 101 Switching Protocols",
                200 => "HTTP/1.1 200 OK",
                201 => "HTTP/1.1 201 Created",
                202 => "HTTP/1.1 202 Accepted",
                203 => "HTTP/1.1 203 Non-Authoritative Information",
                204 => "HTTP/1.1 204 No Content",
                205 => "HTTP/1.1 205 Reset Content",
                206 => "HTTP/1.1 206 Partial Content",
                300 => "HTTP/1.1 300 Multiple Choices",
                301 => "HTTP/1.1 301 Moved Permanently",
                302 => "HTTP/1.1 302 Found",
                303 => "HTTP/1.1 303 See Other",
                304 => "HTTP/1.1 304 Not Modified",
                305 => "HTTP/1.1 305 Use Proxy",
                307 => "HTTP/1.1 307 Temporary Redirect",
                400 => "HTTP/1.1 400 Bad Request",
                401 => "HTTP/1.1 401 Unauthorized",
                402 => "HTTP/1.1 402 Payment Required",
                403 => "HTTP/1.1 403 Forbidden",
                404 => "HTTP/1.1 404 Not Found",
                405 => "HTTP/1.1 405 Method Not Allowed",
                406 => "HTTP/1.1 406 Not Acceptable",
                407 => "HTTP/1.1 407 Proxy Authentication Required",
                408 => "HTTP/1.1 408 Request Time-out",
                409 => "HTTP/1.1 409 Conflict",
                410 => "HTTP/1.1 410 Gone",
                411 => "HTTP/1.1 411 Length Required",
                412 => "HTTP/1.1 412 Precondition Failed",
                413 => "HTTP/1.1 413 Request Entity Too Large",
                414 => "HTTP/1.1 414 Request-URI Too Large",
                415 => "HTTP/1.1 415 Unsupported Media Type",
                416 => "HTTP/1.1 416 Requested range not satisfiable",
                417 => "HTTP/1.1 417 Expectation Failed",
                500 => "HTTP/1.1 500 Internal Server Error",
                501 => "HTTP/1.1 501 Not Implemented",
                502 => "HTTP/1.1 502 Bad Gateway",
                503 => "HTTP/1.1 503 Service Unavailable",
                504 => "HTTP/1.1 504 Gateway Time-out"
            );
    
            header($http[$num]);
        }
        ?>

    HTTP Response Header

    HTTP Response Header包含以下内容:

    • Cache 头域
    • Cookie/Login 头域
    • Entity 头域
    • Miscellaneous 头域
    • Transport 头域
    • Location 头域

    Cache 头域

    Date

    作用:生成消息的具体时间和日期

    例如:Date: Sat, 11 Feb 2012 11:35:14 GMT

    Expires

    作用:浏览器会在指定过期时间内使用本地缓存

    例如:Expires: Tue, 08 Feb 2022 11:35:14 GMT

    Vary

    作用:

    例如:Vary: Accept-Encoding

    Cookie/Login 头域

    P3P

    作用:用于跨域设置Cookie, 这样可以解决iframe跨域访问cookie的问题

    例如:P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR

    作用:非常重要的header, 用于把cookie 发送到客户端浏览器, 每一个写入cookie都会生成一个Set-Cookie.

    例如:Set-Cookie: sc=4c31523a; path=/; domain=.acookie.taobao.com

    Entity 头域

    ETag

    作用:和If-None-Match 配合使用。 (实例请看上节中If-None-Match的实例)

    例如:ETag: “03f2b33c0bfcc1:0”

    Last-Modified

    作用:用于指示资源的最后修改日期和时间。(实例请看上节的If-Modified-Since的实例)

    例如:Last-Modified: Wed, 21 Dec 2011 09:09:10 GMT

    Content-Type

    作用:WEB服务器告诉浏览器自己响应的对象的类型和字符集,

    例如: 
    Content-Type: text/html; charset=utf-8 
    Content-Type:text/html;charset=GB2312 
    Content-Type: image/jpeg

    Content-Length

    作用: 指明实体正文的长度,以字节方式存储的十进制数字来表示。在数据下行的过程中,Content-Length的方式要预先在服务器中缓存所有数据,然后所有数据再一股脑儿地发给客户端。 
    需要说明的是,Content-Length由response 报文 body实际长度确定。 
    例如:Content-Length: 19847

    Content-Language

    作用: WEB服务器告诉浏览器自己响应的对象的语言者 
    例如: Content-Language:da

    Miscellaneous 头域

    Server

    作用:指明HTTP服务器的软件信息,内容由实际服务器确定 
    例如:Server: Apache/2.4.12 (Win32) OpenSSL/1.0.1l PHP/5.6.8

    X-Powered-By:

    作用:表示网站是用什么技术开发的 
    例如:X-Powered-By: PHP/5.6.8

    Transport头域

    Connection

    例如:Connection: keep-alive 当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接

    例如:Connection: close 代表一个Request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭, 当客户端再次发送Request,需要重新建立TCP连接。

    Content-Encoding

    WEB服务器表明自己使用了什么压缩方法(gzip,deflate)压缩响应中的对象。 
    例如:Content-Encoding:gzip

    Location头域

    Location

    作用: 用于重定向一个新的位置, 包含新的URL地址

    PHP 处理 HTTP Response 报文

    PHP 发送 Response报文就要简单多了,如下片段所示:

    //发送Response Header
    header("Content-Type:image/jpeg");
    //发送Response body
    echo "body 内容";



    #附:HTTP header 详解

    Requests部分

     
     
     
     
     
     
    Header解释示例
    Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html
    Accept-Charset 浏览器可以接受的字符编码集。 Accept-Charset: iso-8859-5
    Accept-Encoding 指定浏览器可以支持的web服务器返回内容压缩编码类型。 Accept-Encoding: compress, gzip
    Accept-Language 浏览器可接受的语言 Accept-Language: en,zh
    Accept-Ranges 可以请求网页实体的一个或者多个子范围字段 Accept-Ranges: bytes
    Authorization HTTP授权的授权证书 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
    Cache-Control 指定请求和响应遵循的缓存机制 Cache-Control: no-cache
    Connection 表示是否需要持久连接。(HTTP 1.1默认进行持久连接) Connection: close
    Cookie HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。 Cookie: $Version=1; Skin=new;
    Content-Length 请求的内容长度 Content-Length: 348
    Content-Type 请求的与实体对应的MIME信息 Content-Type: application/x-www-form-urlencoded
    Date 请求发送的日期和时间 Date: Tue, 15 Nov 2010 08:12:31 GMT
    Expect 请求的特定的服务器行为 Expect: 100-continue
    From 发出请求的用户的Email From: user@email.com
    Host 指定请求的服务器的域名和端口号 Host: www.zcmhi.com
    If-Match 只有请求内容与实体相匹配才有效 If-Match: “737060cd8c284d8af7ad3082f209582d”
    If-Modified-Since 如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码 If-Modified-Since: Sat, 29 Oct 2010 19:43:31 GMT
    If-None-Match 如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变 If-None-Match: “737060cd8c284d8af7ad3082f209582d”
    If-Range 如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。参数也为Etag If-Range: “737060cd8c284d8af7ad3082f209582d”
    If-Unmodified-Since 只在实体在指定时间之后未被修改才请求成功 If-Unmodified-Since: Sat, 29 Oct 2010 19:43:31 GMT
    Max-Forwards 限制信息通过代理和网关传送的时间 Max-Forwards: 10
    Pragma 用来包含实现特定的指令 Pragma: no-cache
    Proxy-Authorization 连接到代理的授权证书 Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
    Range 只请求实体的一部分,指定范围 Range: bytes=500-999
    Referer 先前网页的地址,当前请求网页紧随其后,即来路 Referer: http://www.zcmhi.com/archives/71.html
    TE 客户端愿意接受的传输编码,并通知服务器接受接受尾加头信息 TE: trailers,deflate;q=0.5
    Upgrade 向服务器指定某种传输协议以便服务器进行转换(如果支持) Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
    User-Agent User-Agent的内容包含发出请求的用户信息 User-Agent: Mozilla/5.0 (Linux; X11)
    Via 通知中间网关或代理服务器地址,通信协议 Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
    Warning 关于消息实体的警告信息 Warn: 199 Miscellaneous warning

    Responses 部分 

    Header解释示例
    Accept-Ranges 表明服务器是否支持指定范围请求及哪种类型的分段请求 Accept-Ranges: bytes
    Age 从原始服务器到代理缓存形成的估算时间(以秒计,非负) Age: 12
    Allow 对某网络资源的有效的请求行为,不允许则返回405 Allow: GET, HEAD
    Cache-Control 告诉所有的缓存机制是否可以缓存及哪种类型 Cache-Control: no-cache
    Content-Encoding web服务器支持的返回内容压缩编码类型。 Content-Encoding: gzip
    Content-Language 响应体的语言 Content-Language: en,zh
    Content-Length 响应体的长度 Content-Length: 348
    Content-Location 请求资源可替代的备用的另一地址 Content-Location: /index.htm
    Content-MD5 返回资源的MD5校验值 Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
    Content-Range 在整个返回体中本部分的字节位置 Content-Range: bytes 21010-47021/47022
    Content-Type 返回内容的MIME类型 Content-Type: text/html; charset=utf-8
    Date 原始服务器消息发出的时间 Date: Tue, 15 Nov 2010 08:12:31 GMT
    ETag 请求变量的实体标签的当前值 ETag: “737060cd8c284d8af7ad3082f209582d”
    Expires 响应过期的日期和时间 Expires: Thu, 01 Dec 2010 16:00:00 GMT
    Last-Modified 请求资源的最后修改时间 Last-Modified: Tue, 15 Nov 2010 12:45:26 GMT
    Location 用来重定向接收方到非请求URL的位置来完成请求或标识新的资源 Location: http://www.zcmhi.com/archives/94.html
    Pragma 包括实现特定的指令,它可应用到响应链上的任何接收方 Pragma: no-cache
    Proxy-Authenticate 它指出认证方案和可应用到代理的该URL上的参数 Proxy-Authenticate: Basic
    refresh 应用于重定向或一个新的资源被创造,在5秒之后重定向(由网景提出,被大部分浏览器支持)
     
    Refresh: 5; url=
    http://www.zcmhi.com/archives/94.html
    Retry-After 如果实体暂时不可取,通知客户端在指定时间之后再次尝试 Retry-After: 120
    Server web服务器软件名称 Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
    Set-Cookie 设置Http Cookie Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
    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

    Responses 部分 

    //定义编码
    header( 'Content-Type:text/html;charset=utf-8 ');
     
    //Atom
    header('Content-type: application/atom+xml');
     
    //CSS
    header('Content-type: text/css');
     
    //Javascript
    header('Content-type: text/javascript');
     
    //JPEG Image
    header('Content-type: image/jpeg');
     
    //JSON
    header('Content-type: application/json');
     
    //PDF
    header('Content-type: application/pdf');
     
    //RSS
    header('Content-Type: application/rss+xml; charset=ISO-8859-1');
     
    //Text (Plain)
    header('Content-type: text/plain');
     
    //XML
    header('Content-type: text/xml');
     
    //200 OK
    header('HTTP/1.1 200 OK');
     
    //设置一个404头:
    header('HTTP/1.1 404 Not Found');
     
    //设置地址被永久的重定向
    header('HTTP/1.1 301 Moved Permanently');
     
    //转到一个新地址
    header('Location: http://www.example.org/');
     
    //文件延迟转向:
    header('Refresh: 10; url=http://www.example.org/');
    print 'You will be redirected in 10 seconds';
     
    //当然,也可以使用html语法实现
    //<meta http-equiv="refresh" content="10;http://www.example.org/ />
     
    //override X-Powered-By: PHP:
    header('X-Powered-By: PHP/4.4.0');
    header('X-Powered-By: Brain/0.6b');
     
    //文档语言
    header('Content-language: en');
     
    //告诉浏览器最后一次修改时间
    $time = time() - 60; // or filemtime($fn), etc
    header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT');
     
    //告诉浏览器文档内容没有发生改变
    header('HTTP/1.1 304 Not Modified');
     
    //设置内容长度
    header('Content-Length: 1234');
     
    //设置为一个下载类型
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="example.zip"');
    header('Content-Transfer-Encoding: binary');
    //load the file to send:
    readfile('example.zip');
     
    //对当前文档禁用缓存
    header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
    header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
    header('Pragma: no-cache');
     
    //设置内容类型:
    header('Content-Type: text/html; charset=iso-8859-1');
    header('Content-Type: text/html; charset=utf-8');
    header('Content-Type: text/plain'); //纯文本格式
    header('Content-Type: image/jpeg'); //JPG***
    header('Content-Type: application/zip'); // ZIP文件
    header('Content-Type: application/pdf'); // PDF文件
    header('Content-Type: audio/mpeg'); // 音频文件
    header('Content-Type: application/x-shockw**e-flash'); //Flash动画
     
    //显示登陆对话框
    header('HTTP/1.1 401 Unauthorized');
    header('WWW-Authenticate: Basic realm="Top Secret"');
    print 'Text that will be displayed if the user hits cancel or ';
    print 'enters wrong login data';

     // 调用请求函数

    publicfunction test(){
    	$chost ='test';
    	$cpath ='http://www.cleey.com';
    	$crequest ='';
    	$rel = $this->http_post($crequest, $chost, $cpath,80);
    	var_dump($rel);}// 模拟http post请求function http_post($request, $host, $path, $port){
    	$strlen = strlen($request);
    	$http_request  ="POST $path HTTP/1.0
    ";
    	$http_request .="Accept-Encoding: gzip,deflate
    ";
    	$http_request .="Content-Type: application/json;charset=UTF-8
    ";
    	$http_request .="User-Agent: Jakarta Commons-HttpClient/3.1
    ";
    	$http_request .="Host: www.cleey.com
    ";
    	$http_request .="Content-Length: $strlen
    ";// $http_request .= "Token: wwwww
    ";
    	$http_request .="
    ";
    	$http_request .= $request;
    	
    	$response ='';if(false!=( $fs =@fsockopen( $host, $port, $errno, $errstr,10))){
    		fwrite( $fs, $http_request );while(!feof( $fs ))
    			$response .= fgets( $fs,1160);// One TCP-IP packet
    		fclose( $fs );
    		$response = explode("
    
    ", $response,2);}return $response;}


    HTTP报文 客户端和Web服务器在一次HTTP事务中交换的消息被称为HTTP报头,客户端发送给服务器的请求消息被称为请求报文,服务器返回给客户端的响应消息被称为响应报头。请求报文和响应报头采用纯文本编码,由一行行简单的字符串组成。一个完整的HTTP报文由如下三个部分构成。 起始行:代表HTTP报文的第一行文字,请求报文利用起始行表示采用的HTTP方法、请求URI和采用的HTTP版本,而响应报文的起始行在承载着HTTP版本和响应状态码等信息。 报头集合:HTTP报文的起始行后面可以包含零个或者多个报头字段。每个报头表现为一个键/值对,键和值分别表示报头名称和报头的值,两者通过冒号(“:”)进行分割。HTTP报文采用一个空行作为报头集合结束的标志。 主体内容:代表报头集合结束标志的空行之后就是HTTP报文的主体部分了。客户端提交给服务器的数据一般置于请求报头的主体,而响应报头的主体也承载着服务器返回给客户端的数据。不论是请求报文还是响应报文,其主体部分均是可以缺省的。 接下来我们看看一个具体HTTP报文具有怎样的结构。下面这个文本片段反映的是我们通过Chrome浏览器访问微软的官网(www.microsoft. com)对应的HTTP请求,起始行体现了HTTP请求的三个基本属性,即HTTP方法(GET)、目标资源(http://www.microsoft.com/en-us/default.aspx)和协议版本(HTTP/1.1)。 1: GET http://www.microsoft.com/en-us/default.aspx HTTP/1.1 2: Host: www.microsoft.com 3: Connection: keep-alive 4: Cache-Control: max-age=0 5: User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7 6: Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 7: Accept-Encoding: gzip,deflate,sdch 8: Accept-Language: en-US,en;q=0.8 9: Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 10: Cookie: ... 上述这个请求报文不具有主体,所以起始行之外的所有内容均为报头集合,我们们可以根据这些报头获得主机名称、采用的缓存策略、浏览器相关信息、以及客户端支持的媒体类型(Media Type)、编码方式、语言和字符集等。 前面的HTTP请求通过浏览器发送给服务端之后会接收到具有如下结构的响应报文,我们可以此从它的起始行得到采用的HTTP版本(HTTP/1.1)和响应状态码(“200 OK”,表示请求被正常接收处理)。响应的内容被封装到响应报文的主体部分,其媒体类型的通过报头“Content-Type”表示。由于该响应报文的主体内容是一个HTML文档,所以“Content-Type”报头表示的媒体类型为“text/html”。 1: HTTP/1.1 200 OK 2: Cache-Control: no-cache 3: Pragma: no-cache 4: Content-Type: text/html; charset=utf-8 5: Content-Encoding: gzip 6: Expires: -1 7: Vary: Accept-Encoding 8: Server: Microsoft-IIS/7.5 9: X-AspNet-Version: 2.0.50727 10: VTag: 791897542300000000 11: P3P: CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI" 12: X-Powered-By: ASP.NET 13: Date: Wed, 18 Jan 2012 07:06:25 GMT 14: Content-Length: 34237 15: 16: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 17: <html>…</html> [1]超文本/超媒体(HyperText/HyperMedia):超文本是一份呈现文本内容的电子文档,其核心在于可以利用内嵌的“超链接(Hyperlink)”直接访问引用的另一份文档。超媒体对超文本作了简单的扩展以呈现多媒体内容(比如图片、音频和视频等)。HTML文档是我们常见的最为典型的超文本/超媒体文件。 [2] 除了采用这种4个层次的划分方法之外,还具有另外两种典型的划分方式。其中一种在链路层下面添加一个基于物理网络硬件的物理层,这种划分方法与此没有本质的区别。另外一种则是将TCP/IP协议簇划分为包括应用层、表示层、会话层、传输层、网络层、链路层和物理层在内的7个层次。

    Requests Header | Http Header

    Header解释示例
    Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html
    Accept-Charset 浏览器可以接受的字符编码集。 Accept-Charset: iso-8859-5
    Accept-Encoding 指定浏览器可以支持的web服务器返回内容压缩编码类型。 Accept-Encoding: compress, gzip
    Accept-Language 浏览器可接受的语言 Accept-Language: en,zh
    Accept-Ranges 可以请求网页实体的一个或者多个子范围字段 Accept-Ranges: bytes
    Authorization HTTP授权的授权证书 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
    Cache-Control 指定请求和响应遵循的缓存机制 Cache-Control: no-cache
    Connection 表示是否需要持久连接。(HTTP 1.1默认进行持久连接) Connection: close
    Cookie HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。 Cookie: $Version=1; Skin=new;
    Content-Length 请求的内容长度 Content-Length: 348
    Content-Type 请求的与实体对应的MIME信息 Content-Type: application/x-www-form-urlencoded
    Date 请求发送的日期和时间 Date: Tue, 15 Nov 2010 08:12:31 GMT
    Expect 请求的特定的服务器行为 Expect: 100-continue
    From 发出请求的用户的Email From: user@email.com
    Host 指定请求的服务器的域名和端口号 Host: www.zcmhi.com
    If-Match 只有请求内容与实体相匹配才有效 If-Match: “737060cd8c284d8af7ad3082f209582d”
    If-Modified-Since 如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码 If-Modified-Since: Sat, 29 Oct 2010 19:43:31 GMT
    If-None-Match 如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变 If-None-Match: “737060cd8c284d8af7ad3082f209582d”
    If-Range 如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。参数也为Etag If-Range: “737060cd8c284d8af7ad3082f209582d”
    If-Unmodified-Since 只在实体在指定时间之后未被修改才请求成功 If-Unmodified-Since: Sat, 29 Oct 2010 19:43:31 GMT
    Max-Forwards 限制信息通过代理和网关传送的时间 Max-Forwards: 10
    Pragma 用来包含实现特定的指令 Pragma: no-cache
    Proxy-Authorization 连接到代理的授权证书 Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
    Range 只请求实体的一部分,指定范围 Range: bytes=500-999
    Referer 先前网页的地址,当前请求网页紧随其后,即来路 Referer: http://www.zcmhi.com/archives/71.html
    TE 客户端愿意接受的传输编码,并通知服务器接受接受尾加头信息 TE: trailers,deflate;q=0.5
    Upgrade 向服务器指定某种传输协议以便服务器进行转换(如果支持) Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
    User-Agent User-Agent的内容包含发出请求的用户信息 User-Agent: Mozilla/5.0 (Linux; X11)
    Via 通知中间网关或代理服务器地址,通信协议 Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
    Warning 关于消息实体的警告信息 Warn: 199 Miscellaneous warning
     

    Responses 部分 | Http Header

    Header解释示例
    Accept-Ranges 表明服务器是否支持指定范围请求及哪种类型的分段请求 Accept-Ranges: bytes
    Age 从原始服务器到代理缓存形成的估算时间(以秒计,非负) Age: 12
    Allow 对某网络资源的有效的请求行为,不允许则返回405 Allow: GET, HEAD
    Cache-Control 告诉所有的缓存机制是否可以缓存及哪种类型 Cache-Control: no-cache
    Content-Encoding web服务器支持的返回内容压缩编码类型。 Content-Encoding: gzip
    Content-Language 响应体的语言 Content-Language: en,zh
    Content-Length 响应体的长度 Content-Length: 348
    Content-Location 请求资源可替代的备用的另一地址 Content-Location: /index.htm
    Content-MD5 返回资源的MD5校验值 Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
    Content-Range 在整个返回体中本部分的字节位置 Content-Range: bytes 21010-47021/47022
    Content-Type 返回内容的MIME类型 Content-Type: text/html; charset=utf-8
    Date 原始服务器消息发出的时间 Date: Tue, 15 Nov 2010 08:12:31 GMT
    ETag 请求变量的实体标签的当前值 ETag: “737060cd8c284d8af7ad3082f209582d”
    Expires 响应过期的日期和时间 Expires: Thu, 01 Dec 2010 16:00:00 GMT
    Last-Modified 请求资源的最后修改时间 Last-Modified: Tue, 15 Nov 2010 12:45:26 GMT
    Location 用来重定向接收方到非请求URL的位置来完成请求或标识新的资源 Location: http://www.zcmhi.com/archives/94.html
    Pragma 包括实现特定的指令,它可应用到响应链上的任何接收方 Pragma: no-cache
    Proxy-Authenticate 它指出认证方案和可应用到代理的该URL上的参数 Proxy-Authenticate: Basic
    refresh 应用于重定向或一个新的资源被创造,在5秒之后重定向(由网景提出,被大部分浏览器支持) Refresh: 5; url=http://www.atool.org/httptest.php
    Retry-After 如果实体暂时不可取,通知客户端在指定时间之后再次尝试 Retry-After: 120
    Server web服务器软件名称 Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
    Set-Cookie 设置Http Cookie Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
    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
    
    
  • 相关阅读:
    精通javascript、javascript语言精粹读书笔记
    javascript语言精粹。3、对象;4、函数;深入原型链,对象的原理!
    权限管理
    javascript碎碎念(面向对象备忘)
    几个JavaScript面试题
    JavaScript类属性的定义方法和区别
    j
    Java调用SQL存储过程 输入输出参数(转)
    Java中文乱码解决
    js中eval详解
  • 原文地址:https://www.cnblogs.com/zx-admin/p/6172029.html
Copyright © 2020-2023  润新知