php http头设置相关信息
HTTP 狀態(tài)碼
狀態(tài)碼用來告訴HTTP客戶端,HTTP服務(wù)器是否產(chǎn)生了預(yù)期的Response。
HTTP/1.1中定義了5類狀態(tài)碼, 狀態(tài)碼由三位數(shù)字組成,第一個數(shù)字定義了響應(yīng)的類別
- 1XX 提示信息 - 表示請求已被成功接收,繼續(xù)處理
- 2XX 成功 - 表示請求已被成功接收,理解,接受
- 3XX 重定向 - 要完成請求必須進行更進一步的處理
- 4XX 客戶端錯誤 - 請求有語法錯誤或請求無法實現(xiàn)
- 5XX 服務(wù)器端錯誤 - 服務(wù)器未能實現(xiàn)合法的請求
PHP在響應(yīng)報文中添加狀態(tài)碼示例:
<?phppublic 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包含以下內(nèi)容:
- Cache 頭域
- Cookie/Login 頭域
- Entity 頭域
- Miscellaneous 頭域
- Transport 頭域
- Location 頭域
Cache 頭域
Date
作用:生成消息的具體時間和日期
例如:Date: Sat, 11 Feb 2012 11:35:14 GMT
Expires
作用:瀏覽器會在指定過期時間內(nèi)使用本地緩存
例如:Expires: Tue, 08 Feb 2022 11:35:14 GMT
Vary
作用:
例如:Vary: Accept-Encoding
Cookie/Login 頭域
P3P
作用:用于跨域設(shè)置Cookie, 這樣可以解決iframe跨域訪問cookie的問題
例如:P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR
Set-Cookie
作用:非常重要的header, 用于把cookie 發(fā)送到客戶端瀏覽器, 每一個寫入cookie都會生成一個Set-Cookie.
例如:Set-Cookie: sc=4c31523a; path=/; domain=.acookie.taobao.com
Entity 頭域
ETag
作用:和If-None-Match 配合使用。 (實例請看上節(jié)中If-None-Match的實例)
例如:ETag: “03f2b33c0bfcc1:0”
Last-Modified
作用:用于指示資源的最后修改日期和時間。(實例請看上節(jié)的If-Modified-Since的實例)
例如:Last-Modified: Wed, 21 Dec 2011 09:09:10 GMT
Content-Type
作用:WEB服務(wù)器告訴瀏覽器自己響應(yīng)的對象的類型和字符集,
例如:?
Content-Type: text/html; charset=utf-8?
Content-Type:text/html;charset=GB2312?
Content-Type: image/jpeg
Content-Length
作用: 指明實體正文的長度,以字節(jié)方式存儲的十進制數(shù)字來表示。在數(shù)據(jù)下行的過程中,Content-Length的方式要預(yù)先在服務(wù)器中緩存所有數(shù)據(jù),然后所有數(shù)據(jù)再一股腦兒地發(fā)給客戶端。?
需要說明的是,Content-Length由response 報文 body實際長度確定。?
例如:Content-Length: 19847
Content-Language
作用: WEB服務(wù)器告訴瀏覽器自己響應(yīng)的對象的語言者?
例如: Content-Language:da
Miscellaneous 頭域
Server
作用:指明HTTP服務(wù)器的軟件信息,內(nèi)容由實際服務(wù)器確定?
例如:Server: Apache/2.4.12 (Win32) OpenSSL/1.0.1l PHP/5.6.8
X-Powered-By:
作用:表示網(wǎng)站是用什么技術(shù)開發(fā)的?
例如:X-Powered-By: PHP/5.6.8
Transport頭域
Connection
例如:Connection: keep-alive 當一個網(wǎng)頁打開完成后,客戶端和服務(wù)器之間用于傳輸HTTP數(shù)據(jù)的TCP連接不會關(guān)閉,如果客戶端再次訪問這個服務(wù)器上的網(wǎng)頁,會繼續(xù)使用這一條已經(jīng)建立的連接
例如:Connection: close 代表一個Request完成后,客戶端和服務(wù)器之間用于傳輸HTTP數(shù)據(jù)的TCP連接會關(guān)閉, 當客戶端再次發(fā)送Request,需要重新建立TCP連接。
Content-Encoding
WEB服務(wù)器表明自己使用了什么壓縮方法(gzip,deflate)壓縮響應(yīng)中的對象。?
例如:Content-Encoding:gzip
Location頭域
Location
作用: 用于重定向一個新的位置, 包含新的URL地址
PHP 處理 HTTP Response 報文
PHP 發(fā)送 Response報文就要簡單多了,如下片段所示:
//發(fā)送Response Header header("Content-Type:image/jpeg"); //發(fā)送Response body echo "body 內(nèi)容";#附:HTTP header 詳解
Requests部分
?
| Accept | 指定客戶端能夠接收的內(nèi)容類型 | Accept: text/plain, text/html |
| Accept-Charset | 瀏覽器可以接受的字符編碼集。 | Accept-Charset: iso-8859-5 |
| Accept-Encoding | 指定瀏覽器可以支持的web服務(wù)器返回內(nèi)容壓縮編碼類型。 | Accept-Encoding: compress, gzip |
| Accept-Language | 瀏覽器可接受的語言 | Accept-Language: en,zh |
| Accept-Ranges | 可以請求網(wǎng)頁實體的一個或者多個子范圍字段 | Accept-Ranges: bytes |
| Authorization | HTTP授權(quán)的授權(quán)證書 | Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
| Cache-Control | 指定請求和響應(yīng)遵循的緩存機制 | Cache-Control: no-cache |
| Connection | 表示是否需要持久連接。(HTTP 1.1默認進行持久連接) | Connection: close |
| Cookie | HTTP請求發(fā)送時,會把保存在該請求域名下的所有cookie值一起發(fā)送給web服務(wù)器。 | Cookie: $Version=1; Skin=new; |
| Content-Length | 請求的內(nèi)容長度 | Content-Length: 348 |
| Content-Type | 請求的與實體對應(yīng)的MIME信息 | Content-Type: application/x-www-form-urlencoded |
| Date | 請求發(fā)送的日期和時間 | Date: Tue, 15 Nov?2010 08:12:31 GMT |
| Expect | 請求的特定的服務(wù)器行為 | Expect: 100-continue |
| From | 發(fā)出請求的用戶的Email | From: user@email.com |
| Host | 指定請求的服務(wù)器的域名和端口號 | Host: www.zcmhi.com |
| If-Match | 只有請求內(nèi)容與實體相匹配才有效 | If-Match: “737060cd8c284d8af7ad3082f209582d” |
| If-Modified-Since | 如果請求的部分在指定時間之后被修改則請求成功,未被修改則返回304代碼 | If-Modified-Since: Sat, 29 Oct 2010 19:43:31 GMT |
| If-None-Match | 如果內(nèi)容未改變返回304代碼,參數(shù)為服務(wù)器先前發(fā)送的Etag,與服務(wù)器回應(yīng)的Etag比較判斷是否改變 | If-None-Match: “737060cd8c284d8af7ad3082f209582d” |
| If-Range | 如果實體未改變,服務(wù)器發(fā)送客戶端丟失的部分,否則發(fā)送整個實體。參數(shù)也為Etag | If-Range: “737060cd8c284d8af7ad3082f209582d” |
| If-Unmodified-Since | 只在實體在指定時間之后未被修改才請求成功 | If-Unmodified-Since: Sat, 29 Oct 2010 19:43:31 GMT |
| Max-Forwards | 限制信息通過代理和網(wǎng)關(guān)傳送的時間 | Max-Forwards: 10 |
| Pragma | 用來包含實現(xiàn)特定的指令 | Pragma: no-cache |
| Proxy-Authorization | 連接到代理的授權(quán)證書 | Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
| Range | 只請求實體的一部分,指定范圍 | Range: bytes=500-999 |
| Referer | 先前網(wǎng)頁的地址,當前請求網(wǎng)頁緊隨其后,即來路 | Referer: http://www.zcmhi.com/archives/71.html |
| TE | 客戶端愿意接受的傳輸編碼,并通知服務(wù)器接受接受尾加頭信息 | TE: trailers,deflate;q=0.5 |
| Upgrade | 向服務(wù)器指定某種傳輸協(xié)議以便服務(wù)器進行轉(zhuǎn)換(如果支持) | Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 |
| User-Agent | User-Agent的內(nèi)容包含發(fā)出請求的用戶信息 | User-Agent: Mozilla/5.0 (Linux; X11) |
| Via | 通知中間網(wǎng)關(guān)或代理服務(wù)器地址,通信協(xié)議 | Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1) |
| Warning | 關(guān)于消息實體的警告信息 | Warn: 199 Miscellaneous warning |
Responses 部分?
?
| Accept-Ranges | 表明服務(wù)器是否支持指定范圍請求及哪種類型的分段請求 | Accept-Ranges: bytes |
| Age | 從原始服務(wù)器到代理緩存形成的估算時間(以秒計,非負) | Age: 12 |
| Allow | 對某網(wǎng)絡(luò)資源的有效的請求行為,不允許則返回405 | Allow: GET, HEAD |
| Cache-Control | 告訴所有的緩存機制是否可以緩存及哪種類型 | Cache-Control: no-cache |
| Content-Encoding | web服務(wù)器支持的返回內(nèi)容壓縮編碼類型。 | Content-Encoding: gzip |
| Content-Language | 響應(yīng)體的語言 | Content-Language: en,zh |
| Content-Length | 響應(yīng)體的長度 | Content-Length: 348 |
| Content-Location | 請求資源可替代的備用的另一地址 | Content-Location: /index.htm |
| Content-MD5 | 返回資源的MD5校驗值 | Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ== |
| Content-Range | 在整個返回體中本部分的字節(jié)位置 | Content-Range: bytes 21010-47021/47022 |
| Content-Type | 返回內(nèi)容的MIME類型 | Content-Type: text/html; charset=utf-8 |
| Date | 原始服務(wù)器消息發(fā)出的時間 | Date: Tue, 15 Nov 2010 08:12:31 GMT |
| ETag | 請求變量的實體標簽的當前值 | ETag: “737060cd8c284d8af7ad3082f209582d” |
| Expires | 響應(yīng)過期的日期和時間 | 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 | 包括實現(xiàn)特定的指令,它可應(yīng)用到響應(yīng)鏈上的任何接收方 | Pragma: no-cache |
| Proxy-Authenticate | 它指出認證方案和可應(yīng)用到代理的該URL上的參數(shù) | Proxy-Authenticate: Basic |
| refresh | 應(yīng)用于重定向或一個新的資源被創(chuàng)造,在5秒之后重定向(由網(wǎng)景提出,被大部分瀏覽器支持) | ? Refresh: 5; url= http://www.zcmhi.com/archives/94.html |
| Retry-After | 如果實體暫時不可取,通知客戶端在指定時間之后再次嘗試 | Retry-After: 120 |
| Server | web服務(wù)器軟件名稱 | Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) |
| Set-Cookie | 設(shè)置Http Cookie | Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1 |
| Trailer | 指出頭域在分塊傳輸編碼的尾部存在 | Trailer: Max-Forwards |
| Transfer-Encoding | 文件傳輸編碼 | Transfer-Encoding:chunked |
| Vary | 告訴下游代理是使用緩存響應(yīng)還是從原始服務(wù)器請求 | Vary: * |
| Via | 告知代理客戶端響應(yīng)是通過哪里發(fā)送的 | Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1) |
| Warning | 警告實體可能存在的問題 | Warning: 199 Miscellaneous warning |
| WWW-Authenticate | 表明客戶端請求實體應(yīng)該使用的授權(quán)方案 | 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');//設(shè)置一個404頭: header('HTTP/1.1 404 Not Found');//設(shè)置地址被永久的重定向 header('HTTP/1.1 301 Moved Permanently');//轉(zhuǎn)到一個新地址 header('Location: http://www.example.org/');//文件延遲轉(zhuǎn)向: header('Refresh: 10; url=http://www.example.org/'); print 'You will be redirected in 10 seconds';//當然,也可以使用html語法實現(xiàn) //<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');//告訴瀏覽器文檔內(nèi)容沒有發(fā)生改變 header('HTTP/1.1 304 Not Modified');//設(shè)置內(nèi)容長度 header('Content-Length: 1234');//設(shè)置為一個下載類型 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');//設(shè)置內(nèi)容類型: 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';?
?
?// 調(diào)用請求函數(shù)
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\r\n";$http_request .="Accept-Encoding: gzip,deflate\r\n";$http_request .="Content-Type: application/json;charset=UTF-8\r\n";$http_request .="User-Agent: Jakarta Commons-HttpClient/3.1\r\n";$http_request .="Host: www.cleey.com\r\n";$http_request .="Content-Length: $strlen\r\n";// $http_request .= "Token: wwwww\r\n";$http_request .="\r\n";$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 packetfclose( $fs );$response = explode("\r\n\r\n", $response,2);}return $response;}HTTP報文 客戶端和Web服務(wù)器在一次HTTP事務(wù)中交換的消息被稱為HTTP報頭,客戶端發(fā)送給服務(wù)器的請求消息被稱為請求報文,服務(wù)器返回給客戶端的響應(yīng)消息被稱為響應(yīng)報頭。請求報文和響應(yīng)報頭采用純文本編碼,由一行行簡單的字符串組成。一個完整的HTTP報文由如下三個部分構(gòu)成。起始行:代表HTTP報文的第一行文字,請求報文利用起始行表示采用的HTTP方法、請求URI和采用的HTTP版本,而響應(yīng)報文的起始行在承載著HTTP版本和響應(yīng)狀態(tài)碼等信息。 報頭集合:HTTP報文的起始行后面可以包含零個或者多個報頭字段。每個報頭表現(xiàn)為一個鍵/值對,鍵和值分別表示報頭名稱和報頭的值,兩者通過冒號(“:”)進行分割。HTTP報文采用一個空行作為報頭集合結(jié)束的標志。 主體內(nèi)容:代表報頭集合結(jié)束標志的空行之后就是HTTP報文的主體部分了。客戶端提交給服務(wù)器的數(shù)據(jù)一般置于請求報頭的主體,而響應(yīng)報頭的主體也承載著服務(wù)器返回給客戶端的數(shù)據(jù)。不論是請求報文還是響應(yīng)報文,其主體部分均是可以缺省的。 接下來我們看看一個具體HTTP報文具有怎樣的結(jié)構(gòu)。下面這個文本片段反映的是我們通過Chrome瀏覽器訪問微軟的官網(wǎng)(www.microsoft. com)對應(yīng)的HTTP請求,起始行體現(xiàn)了HTTP請求的三個基本屬性,即HTTP方法(GET)、目標資源(http://www.microsoft.com/en-us/default.aspx)和協(xié)議版本(HTTP/1.1)。1: GET http://www.microsoft.com/en-us/default.aspx HTTP/1.12: Host: www.microsoft.com3: Connection: keep-alive4: Cache-Control: max-age=05: User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.76: Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.87: Accept-Encoding: gzip,deflate,sdch8: Accept-Language: en-US,en;q=0.89: Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.310: Cookie: ... 上述這個請求報文不具有主體,所以起始行之外的所有內(nèi)容均為報頭集合,我們們可以根據(jù)這些報頭獲得主機名稱、采用的緩存策略、瀏覽器相關(guān)信息、以及客戶端支持的媒體類型(Media Type)、編碼方式、語言和字符集等。前面的HTTP請求通過瀏覽器發(fā)送給服務(wù)端之后會接收到具有如下結(jié)構(gòu)的響應(yīng)報文,我們可以此從它的起始行得到采用的HTTP版本(HTTP/1.1)和響應(yīng)狀態(tài)碼(“200 OK”,表示請求被正常接收處理)。響應(yīng)的內(nèi)容被封裝到響應(yīng)報文的主體部分,其媒體類型的通過報頭“Content-Type”表示。由于該響應(yīng)報文的主體內(nèi)容是一個HTML文檔,所以“Content-Type”報頭表示的媒體類型為“text/html”。1: HTTP/1.1 200 OK2: Cache-Control: no-cache3: Pragma: no-cache4: Content-Type: text/html; charset=utf-85: Content-Encoding: gzip6: Expires: -17: Vary: Accept-Encoding8: Server: Microsoft-IIS/7.59: X-AspNet-Version: 2.0.5072710: VTag: 79189754230000000011: 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.NET13: Date: Wed, 18 Jan 2012 07:06:25 GMT14: Content-Length: 3423715: 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):超文本是一份呈現(xiàn)文本內(nèi)容的電子文檔,其核心在于可以利用內(nèi)嵌的“超鏈接(Hyperlink)”直接訪問引用的另一份文檔。超媒體對超文本作了簡單的擴展以呈現(xiàn)多媒體內(nèi)容(比如圖片、音頻和視頻等)。HTML文檔是我們常見的最為典型的超文本/超媒體文件。[2] 除了采用這種4個層次的劃分方法之外,還具有另外兩種典型的劃分方式。其中一種在鏈路層下面添加一個基于物理網(wǎng)絡(luò)硬件的物理層,這種劃分方法與此沒有本質(zhì)的區(qū)別。另外一種則是將TCP/IP協(xié)議簇劃分為包括應(yīng)用層、表示層、會話層、傳輸層、網(wǎng)絡(luò)層、鏈路層和物理層在內(nèi)的7個層次。
Requests Header | Http Header
| Accept | 指定客戶端能夠接收的內(nèi)容類型 | Accept: text/plain, text/html |
| Accept-Charset | 瀏覽器可以接受的字符編碼集。 | Accept-Charset: iso-8859-5 |
| Accept-Encoding | 指定瀏覽器可以支持的web服務(wù)器返回內(nèi)容壓縮編碼類型。 | Accept-Encoding: compress, gzip |
| Accept-Language | 瀏覽器可接受的語言 | Accept-Language: en,zh |
| Accept-Ranges | 可以請求網(wǎng)頁實體的一個或者多個子范圍字段 | Accept-Ranges: bytes |
| Authorization | HTTP授權(quán)的授權(quán)證書 | Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
| Cache-Control | 指定請求和響應(yīng)遵循的緩存機制 | Cache-Control: no-cache |
| Connection | 表示是否需要持久連接。(HTTP 1.1默認進行持久連接) | Connection: close |
| Cookie | HTTP請求發(fā)送時,會把保存在該請求域名下的所有cookie值一起發(fā)送給web服務(wù)器。 | Cookie: $Version=1; Skin=new; |
| Content-Length | 請求的內(nèi)容長度 | Content-Length: 348 |
| Content-Type | 請求的與實體對應(yīng)的MIME信息 | Content-Type: application/x-www-form-urlencoded |
| Date | 請求發(fā)送的日期和時間 | Date: Tue, 15 Nov?2010 08:12:31 GMT |
| Expect | 請求的特定的服務(wù)器行為 | Expect: 100-continue |
| From | 發(fā)出請求的用戶的Email | From: user@email.com |
| Host | 指定請求的服務(wù)器的域名和端口號 | Host: www.zcmhi.com |
| If-Match | 只有請求內(nèi)容與實體相匹配才有效 | If-Match: “737060cd8c284d8af7ad3082f209582d” |
| If-Modified-Since | 如果請求的部分在指定時間之后被修改則請求成功,未被修改則返回304代碼 | If-Modified-Since: Sat, 29 Oct 2010 19:43:31 GMT |
| If-None-Match | 如果內(nèi)容未改變返回304代碼,參數(shù)為服務(wù)器先前發(fā)送的Etag,與服務(wù)器回應(yīng)的Etag比較判斷是否改變 | If-None-Match: “737060cd8c284d8af7ad3082f209582d” |
| If-Range | 如果實體未改變,服務(wù)器發(fā)送客戶端丟失的部分,否則發(fā)送整個實體。參數(shù)也為Etag | If-Range: “737060cd8c284d8af7ad3082f209582d” |
| If-Unmodified-Since | 只在實體在指定時間之后未被修改才請求成功 | If-Unmodified-Since: Sat, 29 Oct 2010 19:43:31 GMT |
| Max-Forwards | 限制信息通過代理和網(wǎng)關(guān)傳送的時間 | Max-Forwards: 10 |
| Pragma | 用來包含實現(xiàn)特定的指令 | Pragma: no-cache |
| Proxy-Authorization | 連接到代理的授權(quán)證書 | Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
| Range | 只請求實體的一部分,指定范圍 | Range: bytes=500-999 |
| Referer | 先前網(wǎng)頁的地址,當前請求網(wǎng)頁緊隨其后,即來路 | Referer: http://www.zcmhi.com/archives/71.html |
| TE | 客戶端愿意接受的傳輸編碼,并通知服務(wù)器接受接受尾加頭信息 | TE: trailers,deflate;q=0.5 |
| Upgrade | 向服務(wù)器指定某種傳輸協(xié)議以便服務(wù)器進行轉(zhuǎn)換(如果支持) | Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 |
| User-Agent | User-Agent的內(nèi)容包含發(fā)出請求的用戶信息 | User-Agent: Mozilla/5.0 (Linux; X11) |
| Via | 通知中間網(wǎng)關(guān)或代理服務(wù)器地址,通信協(xié)議 | Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1) |
| Warning | 關(guān)于消息實體的警告信息 | Warn: 199 Miscellaneous warning |
Responses 部分 | Http Header
| Accept-Ranges | 表明服務(wù)器是否支持指定范圍請求及哪種類型的分段請求 | Accept-Ranges: bytes |
| Age | 從原始服務(wù)器到代理緩存形成的估算時間(以秒計,非負) | Age: 12 |
| Allow | 對某網(wǎng)絡(luò)資源的有效的請求行為,不允許則返回405 | Allow: GET, HEAD |
| Cache-Control | 告訴所有的緩存機制是否可以緩存及哪種類型 | Cache-Control: no-cache |
| Content-Encoding | web服務(wù)器支持的返回內(nèi)容壓縮編碼類型。 | Content-Encoding: gzip |
| Content-Language | 響應(yīng)體的語言 | Content-Language: en,zh |
| Content-Length | 響應(yīng)體的長度 | Content-Length: 348 |
| Content-Location | 請求資源可替代的備用的另一地址 | Content-Location: /index.htm |
| Content-MD5 | 返回資源的MD5校驗值 | Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ== |
| Content-Range | 在整個返回體中本部分的字節(jié)位置 | Content-Range: bytes 21010-47021/47022 |
| Content-Type | 返回內(nèi)容的MIME類型 | Content-Type: text/html; charset=utf-8 |
| Date | 原始服務(wù)器消息發(fā)出的時間 | Date: Tue, 15 Nov 2010 08:12:31 GMT |
| ETag | 請求變量的實體標簽的當前值 | ETag: “737060cd8c284d8af7ad3082f209582d” |
| Expires | 響應(yīng)過期的日期和時間 | 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 | 包括實現(xiàn)特定的指令,它可應(yīng)用到響應(yīng)鏈上的任何接收方 | Pragma: no-cache |
| Proxy-Authenticate | 它指出認證方案和可應(yīng)用到代理的該URL上的參數(shù) | Proxy-Authenticate: Basic |
| refresh | 應(yīng)用于重定向或一個新的資源被創(chuàng)造,在5秒之后重定向(由網(wǎng)景提出,被大部分瀏覽器支持) | Refresh: 5; url=http://www.atool.org/httptest.php |
| Retry-After | 如果實體暫時不可取,通知客戶端在指定時間之后再次嘗試 | Retry-After: 120 |
| Server | web服務(wù)器軟件名稱 | Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) |
| Set-Cookie | 設(shè)置Http Cookie | Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1 |
| Trailer | 指出頭域在分塊傳輸編碼的尾部存在 | Trailer: Max-Forwards |
| Transfer-Encoding | 文件傳輸編碼 | Transfer-Encoding:chunked |
| Vary | 告訴下游代理是使用緩存響應(yīng)還是從原始服務(wù)器請求 | Vary: * |
| Via | 告知代理客戶端響應(yīng)是通過哪里發(fā)送的 | Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1) |
| Warning | 警告實體可能存在的問題 | Warning: 199 Miscellaneous warning |
| WWW-Authenticate | 表明客戶端請求實體應(yīng)該使用的授權(quán)方案 | WWW-Authenticate: Basic |
轉(zhuǎn)載于:https://www.cnblogs.com/zx-admin/p/6172029.html
總結(jié)
以上是生活随笔為你收集整理的php http头设置相关信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: node.js Stream Buffe
- 下一篇: nginx缓存服务器