亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

搞定PHP面試 - HTTP協(xié)議知識(shí)點(diǎn)整理

xingpingz / 751人閱讀

摘要:重定向狀態(tài)碼,需要進(jìn)行附加操作以完成請求永久性重定向。該狀態(tài)碼表示發(fā)送的請求需要有通過認(rèn)證認(rèn)證認(rèn)證的認(rèn)證信息。該狀態(tài)碼表明服務(wù)器暫時(shí)處于超負(fù)載或正在進(jìn)行停機(jī)維護(hù),現(xiàn)在無法處理請求。

HTTP協(xié)議知識(shí)點(diǎn)整理 一、HTTP協(xié)議的工作特點(diǎn)和工作原理 工作特點(diǎn)

基于B/S模式

通信開銷小、簡單快速、傳輸成本低

使用靈活、可試用超文本傳輸協(xié)議

節(jié)省傳輸時(shí)間

無狀態(tài)

工作原理

客戶端發(fā)送請求給服務(wù)器,創(chuàng)建一個(gè)TCP鏈接,指定端口號(hào),默認(rèn)80,連接到服務(wù)器,服務(wù)器監(jiān)聽瀏覽器請求,一旦監(jiān)聽到客戶端請求,分析請求類型后,服務(wù)器會(huì)向客戶端放回狀態(tài)信息和數(shù)據(jù)內(nèi)容。

二、HTTP協(xié)議請求方法 1. GET:獲取資源

GET 方法用來請求訪問已被 URI 識(shí)別的資源。指定的資源經(jīng)服務(wù)器端解析后返回響應(yīng)內(nèi)容。

2. POST:傳輸實(shí)體主體

POST 方法用來傳輸實(shí)體的主體。
雖然用 GET 方法也可以傳輸實(shí)體的主體,但一般不用 GET 方法進(jìn)行傳輸,而是用 POST 方法。雖說 POST 的功能與 GET 很相似,但POST 的主要目的并不是獲取響應(yīng)的主體內(nèi)容。

3. PUT:傳輸文件

PUT 方法用來傳輸文件。就像 FTP 協(xié)議的文件上傳一樣,要求在請求報(bào)文的主體中包含文件內(nèi)容,然后保存到請求 URI 指定的位置。
但是,鑒于 HTTP/1.1 的 PUT 方法自身不帶驗(yàn)證機(jī)制,任何人都可以上傳文件 , 存在安全性問題,因此一般的 Web 網(wǎng)站不使用該方法。若配合 Web 應(yīng)用程序的驗(yàn)證機(jī)制,或架構(gòu)設(shè)計(jì)采用 REST(REpresentationalState Transfer,表征狀態(tài)轉(zhuǎn)移)標(biāo)準(zhǔn)的同類 Web 網(wǎng)站,就可能會(huì)開放使用 PUT 方法。

4. HEAD:獲得報(bào)文首部

HEAD 方法和 GET 方法一樣,只是不返回報(bào)文主體部分。用于確認(rèn)URI 的有效性及資源更新的日期時(shí)間等。

5. DELETE:刪除文件

DELETE 方法用來刪除文件,是與 PUT 相反的方法。DELETE 方法按請求 URI 刪除指定的資源。
但是,HTTP/1.1 的 DELETE 方法本身和 PUT 方法一樣不帶驗(yàn)證機(jī)制,所以一般的 Web 網(wǎng)站也不使用 DELETE 方法。當(dāng)配合 Web 應(yīng)用程序的驗(yàn)證機(jī)制,或遵守 REST 標(biāo)準(zhǔn)時(shí)還是有可能會(huì)開放使用的。

6. OPTIONS:詢問支持的方法

OPTIONS 方法用來查詢針對請求 URI 指定的資源支持的方法。

7. TRACE:追蹤路徑

TRACE 方法是讓 Web 服務(wù)器端將之前的請求通信環(huán)回給客戶端的方法。
發(fā)送請求時(shí),在 Max-Forwards 首部字段中填入數(shù)值,每經(jīng)過一個(gè)服務(wù)器端就將該數(shù)字減 1,當(dāng)數(shù)值剛好減到 0 時(shí),就停止繼續(xù)傳輸,最后接收到請求的服務(wù)器端則返回狀態(tài)碼 200 OK 的響應(yīng)。
客戶端通過 TRACE 方法可以查詢發(fā)送出去的請求是怎樣被加工修改 / 篡改的。這是因?yàn)?,請求想要連接到源目標(biāo)服務(wù)器可能會(huì)通過代理中轉(zhuǎn),TRACE 方法就是用來確認(rèn)連接過程中發(fā)生的一系列操作。
但是,TRACE 方法本來就不怎么常用,再加上它容易引發(fā) XST(Cross-Site Tracing,跨站追蹤)攻擊,通常就更不會(huì)用到了。

三、HTTP常用狀態(tài)碼

狀態(tài)碼的職責(zé)是當(dāng)客戶端向服務(wù)器端發(fā)送請求時(shí),描述返回的請求結(jié)果。
借助狀態(tài)碼,用戶可以知道服務(wù)器端是正常處理了請求,還是出現(xiàn)了錯(cuò)誤。

1. 1XX Informational(信息性狀態(tài)碼, 接收的請求正在處理) 2. 2XX Success(成功狀態(tài)碼,表示請求正常處理完畢) 200 OK

表示從客戶端發(fā)來的請求在服務(wù)器端被正常處理了。

204 No Content

該狀態(tài)碼代表服務(wù)器接收的請求已成功處理,但在返回的響應(yīng)報(bào)文中不含實(shí)體的主體部分。另外,也不允許返回任何實(shí)體的主體。比如,當(dāng)從瀏覽器發(fā)出請求處理后,返回 204 響應(yīng),那么瀏覽器顯示的頁面不發(fā)生更新。
一般在只需要從客戶端往服務(wù)器發(fā)送信息,而對客戶端不需要發(fā)送新信息內(nèi)容的情況下使用。

206 Partial Content

該狀態(tài)碼表示客戶端進(jìn)行了范圍請求,而服務(wù)器成功執(zhí)行了這部分的 GET 請求。響應(yīng)報(bào)文中包含由 Content-Range 指定范圍的實(shí)體內(nèi)容。

3. 3XX Redirection(重定向狀態(tài)碼,需要進(jìn)行附加操作以完成請求) 301 Moved Permanently

永久性重定向。該狀態(tài)碼表示請求的資源已被分配了新的 URI,以后應(yīng)使用資源現(xiàn)在所指的 URI。也就是說,如果已經(jīng)把資源對應(yīng)的 URI保存為書簽了,這時(shí)應(yīng)該按 Location 首部字段提示的 URI 重新保存。

302 Move temporarily

臨時(shí)性重定向。該狀態(tài)碼表示請求的資源已被分配了新的 URI,希望用戶(本次)能使用新的 URI 訪問。
和 301 Moved Permanently 狀態(tài)碼相似,但 302 狀態(tài)碼代表的資源不是被永久移動(dòng),只是臨時(shí)性質(zhì)的。換句話說,已移動(dòng)的資源對應(yīng)的URI 將來還有可能發(fā)生改變。比如,用戶把 URI 保存成書簽,但不會(huì)像301 狀態(tài)碼出現(xiàn)時(shí)那樣去更新書簽,而是仍舊保留返回 302 狀態(tài)碼的頁面對應(yīng)的 URI。

304 Not Modified

該狀態(tài)碼表示客戶端發(fā)送附帶條件的請求時(shí),服務(wù)器端允許請求訪問資源,而文檔的內(nèi)容(自上次訪問以來或者根據(jù)請求的條件)并沒有改變。

4. 4XX Client Error(客戶端錯(cuò)誤狀態(tài)碼,服務(wù)器無法處理請求) 400 Bad Request

該狀態(tài)碼表示請求報(bào)文中存在語法錯(cuò)誤。當(dāng)錯(cuò)誤發(fā)生時(shí),需修改請求的內(nèi)容后再次發(fā)送請求。

401 Unauthorized

該狀態(tài)碼表示發(fā)送的請求需要有通過 HTTP 認(rèn)證(BASIC 認(rèn)證、DIGEST 認(rèn)證)的認(rèn)證信息。另外若之前已進(jìn)行過 1 次請求,則表示用戶認(rèn)證失敗。
返回含有 401 的響應(yīng)必須包含一個(gè)適用于被請求資源的 WWW-Authenticate 首部用以質(zhì)詢(challenge)用戶信息。當(dāng)瀏覽器初次接收到 401 響應(yīng),會(huì)彈出認(rèn)證用的對話窗口。

403 Forbidden

該狀態(tài)碼表明對請求資源的訪問被服務(wù)器拒絕了。
未獲得文件系統(tǒng)的訪問授權(quán),訪問權(quán)限出現(xiàn)某些問題(從未授權(quán)的發(fā)送源 IP 地址試圖訪問)等情況都可能是發(fā)生 403 的原因。

404 Not Found

該狀態(tài)碼表明服務(wù)器上無法找到請求的資源。

405 Method Not Allowed

表明當(dāng)前請求使用的 HTTP 方法不被服務(wù)器允許。
例如使用GET方法請求需要POST方法的數(shù)據(jù)。

5. 5XX Server Error(服務(wù)器錯(cuò)誤狀態(tài)碼,服務(wù)器處理請求出錯(cuò)) 500 Internal Server Error

該狀態(tài)碼表明服務(wù)器端在執(zhí)行請求時(shí)發(fā)生了錯(cuò)誤。有可能是 Web 應(yīng)用存在的 bug 或某些臨時(shí)的故障。

502 Bad Gateway

該狀態(tài)碼表明服務(wù)器和網(wǎng)關(guān)/代理通信出錯(cuò)。

503 Service Unavailable

該狀態(tài)碼表明服務(wù)器暫時(shí)處于超負(fù)載或正在進(jìn)行停機(jī)維護(hù),現(xiàn)在無法處理請求。

504 Gateway Timeout 網(wǎng)關(guān)超時(shí)

該狀態(tài)碼表明服務(wù)器作為網(wǎng)關(guān)或代理,但是沒有及時(shí)從上游服務(wù)器收到請求。

四、HTTP協(xié)議常見請求、響應(yīng)頭 1. HTTP/1.1 通用首部字段

通用首部字段是指,請求報(bào)文和響應(yīng)報(bào)文雙方都會(huì)使用的首部。

Cache-Control 設(shè)置緩存的工作機(jī)制

指令的參數(shù)是可選的,多個(gè)指令之間通過 , 分隔。

Cache-Control: private, max-age=0, no-cache

緩存請求指令

指令 參數(shù) 說明
no-cache 強(qiáng)制向源服務(wù)器再次驗(yàn)證
no-store 不緩存請求或響應(yīng)的任何內(nèi)容
max-age = [ 秒] 必需 響應(yīng)的最大Age值
max-stale( = [ 秒]) 可省略 接收已過期的響應(yīng)
min-fresh = [ 秒] 必需 期望在指定時(shí)間內(nèi)的響應(yīng)仍有效
no-transform 代理不可更改媒體類型
only-if-cached 從緩存獲取資源
cache-extension - 新指令標(biāo)記(token)

緩存響應(yīng)指令

指令 參數(shù) 說明
public 可向任意方提供響應(yīng)的緩存
private 可省略 僅向特定用戶返回響應(yīng)
no-cache 可省略 緩存前必須先確認(rèn)其有效性
no-store 不緩存請求或響應(yīng)的任何內(nèi)容
no-transform 代理不可更改媒體類型
must-revalidate 可緩存但必須再向源服務(wù)器進(jìn)行確認(rèn)
proxy-revalidate 要求中間緩存服務(wù)器對緩存的響應(yīng)有效性再進(jìn)行確認(rèn)
max-age = [ 秒] 必需 響應(yīng)的最大Age值
s-maxage = [ 秒] 必需 公共緩存服務(wù)器響應(yīng)的最大Age值
cache-extension - 新指令標(biāo)記(token)
Connection

Connection 首部字段具備如下兩個(gè)作用。

控制不再轉(zhuǎn)發(fā)給代理的首部字段

管理持久連接

Connection: keep-alive
Connection: Upgrade

Date 創(chuàng)建 HTTP 報(bào)文的日期和時(shí)間。
Date: Tue, 03 Jul 2012 04:40:59 GMT
Date: Tue, 03-Jul-12 04:40:59 GMT
Date: Tue Jul 03 04:40:59 2012
Content-Type 設(shè)置請求體或相應(yīng)體的MIME類型
Content-Type: application/x-www-form-urlencoded
Content-Type: text/html; charset=utf-8

Content-Encoding 設(shè)置數(shù)據(jù)使用的編碼類型
Content-Encoding: gzip
Content-Length 請求體或響應(yīng)體的字節(jié)長度
Content-Length: 348
2. 常見請求頭字段 Host 設(shè)置服務(wù)器域名和TCP端口號(hào),如果使用的是服務(wù)請求標(biāo)準(zhǔn)端口號(hào),端口號(hào)可以省略
Host: en.wikipedia.org:8080
Host: en.wikipedia.org
Accept 設(shè)置接受的內(nèi)容類型
Accept: text/plain
Accept-Charset 設(shè)置接受的字符編碼
Accept-Charset: utf-8

Accept-Encoding 設(shè)置接受的編碼格式
Accept-Encoding: gzip, deflate

Origin 標(biāo)識(shí)跨域資源請求(請求服務(wù)端設(shè)置Access-Control-Allow-Origin響應(yīng)字段)
Origin: http://www.example-social-network.com
User-Agent 用戶代理的字符串值
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/21.0
Cookie 設(shè)置服務(wù)器使用Set-Cookie發(fā)送的http cookie
Cookie: $Version=1; Skin=new;
Authorization 設(shè)置HTTP身份驗(yàn)證的憑證
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Referer 告知服務(wù)器請求的原始資源的 URI
Referer: http://en.wikipedia.org/wiki/Main_Page
X-Forwarded-For 客戶端通過HTTP代理或者負(fù)載均衡器連接的web服務(wù)器的原始IP地址
X-Forwarded-For: client1, proxy1, proxy2
X-Forwarded-For: 129.78.138.66, 129.78.64.103
Forwarded 客戶端通過http代理連接web服務(wù)的源信息
Forwarded: for=192.0.2.60;proto=http;by=203.0.113.43
Forwarded: for=192.0.2.43, for=198.51.100.17
3. 常見響應(yīng)頭字段 Allow 通知客戶端請求所支持的 HTTP 方法
Allow: GET, HEAD
Access-Control-Allow-Origin 指定哪些站點(diǎn)可以參與跨站資源共享
Access-Control-Allow-Origin: *
Expires 設(shè)置響應(yīng)體的過期時(shí)間
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Last-Modified 設(shè)置請求對象最后一次的修改日期
Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
Age 對象在代理緩存中暫存的秒數(shù)
Age: 3600
ETag 特定版本資源的標(biāo)識(shí)符,通常是消息摘要
ETag: "737060cd8c284d8af7ad3082f209582d"
Refresh 重定向
Refresh: 5; url=http://www.w3.org/pub/WWW/People.html
Set-Cookie 設(shè)置HTTP Cookie
Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/31384.html

相關(guān)文章

  • 搞定PHP面試 - 函數(shù)識(shí)點(diǎn)整理

    摘要:使用中文函數(shù)名和變量名面積長寬長寬面積合法,輸出中文符號(hào)函數(shù)名。類型聲明類型聲明允許函數(shù)在調(diào)用時(shí)要求參數(shù)為特定類型。需要使用自己的包裝函數(shù)來將這些結(jié)構(gòu)用作可變函數(shù)。匿名函數(shù)目前是通過類來實(shí)現(xiàn)的。 一、函數(shù)的定義 1. 函數(shù)的命名規(guī)則 函數(shù)名可以包含字母、數(shù)字、下劃線,不能以數(shù)字開頭。 function Func_1(){ } //合法 function func1(){ } //合法 ...

    SimpleTriangle 評論0 收藏0
  • 搞定PHP面試 - 變量識(shí)點(diǎn)整理

    摘要:聲明靜態(tài)變量時(shí)不能用表達(dá)式的結(jié)果對其賦值正確錯(cuò)誤使用表達(dá)式的結(jié)果賦值錯(cuò)誤使用表達(dá)式的結(jié)果賦值靜態(tài)變量與遞歸函數(shù)靜態(tài)變量提供了一種處理遞歸函數(shù)的方法。 一、變量的定義 1. 變量的命名規(guī)則 變量名可以包含字母、數(shù)字、下劃線,不能以數(shù)字開頭。 $Var_1 = foo; // 合法 $var1 = foo; // 合法 $_var1 = foo; // 合法 $Var-1 = foo; /...

    Mertens 評論0 收藏0
  • 搞定PHP面試 - 正則表達(dá)式識(shí)點(diǎn)整理

    摘要:是決定正則表達(dá)式匹配規(guī)則的主要部分。二分隔符分隔符的選擇當(dāng)使用函數(shù)的時(shí)候,正則表達(dá)式必須由分隔符閉合包裹。果分隔符經(jīng)常在正則表達(dá)式內(nèi)出現(xiàn),最好使用其他分隔符來提高可讀性。需要將一個(gè)字符串放入正則表達(dá)式中使用時(shí),可以用函數(shù)對其進(jìn)行轉(zhuǎn)義。 一、簡介 1. 什么是正則表達(dá)式 正則表達(dá)式(Regular Expression)就是用某種模式去匹配一類字符串的一種公式。正則表達(dá)式使用單個(gè)字符串來...

    AaronYuan 評論0 收藏0
  • 搞定PHP面試 - 運(yùn)算符識(shí)點(diǎn)整理

    摘要:除法運(yùn)算符總是返回浮點(diǎn)數(shù)。取模運(yùn)算符的結(jié)果和被除數(shù)的符號(hào)正負(fù)號(hào)相同。使用位運(yùn)算符時(shí)要特別注意優(yōu)先級(jí)。太空船運(yùn)算符組合比較符當(dāng)小于等于大于時(shí)分別返回一個(gè)小于等于大于的值。遞增遞減運(yùn)算符不影響布爾值。 一、算術(shù)運(yùn)算符 1. 概覽 例子 名稱 結(jié)果 $a + $b 加法 $a 和 $b 的和。 $a - $b 減法 $a 和 $b 的差。 $a * $b 乘法 $a 和 ...

    HelKyle 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<