首頁 >web前端 >H5教程 >http的方法,狀態碼和組成部分

http的方法,狀態碼和組成部分

大家讲道理
大家讲道理原創
2017-05-28 10:53:091658瀏覽

HttpHypertext Transfer Protocol

HTTP協定(HyperText Transfer Protocol,超文本傳輸協定)是用於從WWW伺服器傳輸超文本到本機瀏覽器的傳輸協定。它可以使瀏覽器更加高效,使網路傳輸減少。它不僅保證電腦正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先於圖形)等。

用於http協定互動的資訊稱為http封包。請求端(客戶端)的http封包叫做請求報文,回應端(伺服器)的叫做回應封包。

請求封包由請求方法,請求URI,協定版本,首部欄位(可選),內容實體(可選)構成

回應封包由協定版本,狀態碼,原因短語,首部欄位(可選),實體主體構成

 

在每份封包中,請求URI,協定版本,狀態碼,原因短語,首部欄位屬於封包首部,然後空一行,剩下的就是封包主體。

首部字段有4種:請求首部字段,響應首部字段,通用首部字段,實體首部字段,通用首部和實體首部為請求報文和回應封包都有的,而請求首部只有請求封包有,回應首部只有回應封包有。

 

訊息是http通訊中的基本單位,由8位元組位元組流組成,透過http通訊傳輸。

實體作為請求和回應的有效載荷資料(補充項)被傳輸,其內容由實體首部和實體主體組成

#一般情況下,封包主體等於實體主體。只有當傳輸中進行編碼操作時,實體主體的內容會發生變化,才會和封包主體不一致。

 

http1.0http1.1支援的方法

(追蹤路徑要求用隧道協定連結代理程式#建立與資源之間的連結

方法

說明

支持http協定的版本

GET

取得已被URI識別的資源

1.0,1.1

POST

#傳送實體主體

1.0,1.1

PUT

傳輸檔案

不帶驗證機制)

1.0,1.1

#HEAD

########################################################## #####取得封包首部##################1.0,1.1#################### #######DELETE#########################刪除###檔案###(#######不帶驗證機制######)#####################1.0,1.1######

OPTIONS

#詢問支援方法

1.1

#TRACE

#TRACE

1.1

#CONNECT

#1.1

LINK

#1.0

#UNLINK

#UNLINK

 #原因短語for(成功狀態碼)#請求正常處理完畢direction

斷開連結關係

1.0

 

http#狀態碼

#。

類別

1XX

In
mational

(資訊性狀態碼)

接收的請求正在處理

2XX

Success

3XX

Re

(重定向狀態碼)

需要進行附加操作以完成請求

###4XX###################Client Error###(用戶端錯誤狀態碼)####### ##############伺服器無法處理請求#########################5XX######## ###########Server Error###(伺服器錯誤狀態碼)######################伺服器處理請求出錯### ################

 

14中常用的狀態碼

請求GET方法定向取得請求的資源表示客戶端傳送附帶條件請求時,伺服器端允許請求存取資源,但因發生請求為滿足條件的情況後,直接回傳400 Bad Request語法錯誤表示發送的請求需要通過http

200 OK

##表示客戶端發送的請求在伺服器端被正常處理了

204 No Content

表示伺服器接收的請求已處理成功,但傳回的回應封包不含實體主體部分

206 Partial Content#表示客戶端進行了範圍請求,而伺服器成功執行了這部分的GET

#301 Moved Permaently

#永久重定向,表示請求的資源已被分配了新的URI,以後應使用該資源現在所指的URI

#302 Found

##暫時性重定向,表示請求的資源已被分配了新的

URI,希望用戶本次能使用新的URI#訪問

303 See Other

表示由於請求對應的資源存在著另一個URI,應使用

##304 Not Modified

304 Not Modified

(伺服器端資源為改變,可直接使用客戶端未過期的主體部分)

#307 Temporary Redirect

#暫時重定向,和

302意思相同

表示請求封包中存在
。伺服器端無法辨識請求

401 Unauthorized

認證的認證資訊。若先前已進行過一次請求,則表示使用者認證失敗

#403 Forbidden
############################################################## ##########表示請求資源的存取被伺服器拒絕了。沒有權限存取########################404 Not Found#################表示伺服器無法找到請求的資源,即沒有這個資源#########################500 Internal Server Error############ ######表示伺服器端在執行請求時發生了錯誤,也有可能是###web######應用存在######bug######或某些臨時性故障###########################503 Service Unavailable#################表示伺服器暫時處於超負載或正在進行停機維護,現在無法處理請求##################

 

 

http通用首個欄位

通用首個欄位名

說明

Cache -Control

控制快取行為

Connection

管理逐跳首部和持久連線

Date

#建立封包的日期時間

Pragma

#訊息指令

##Trailer

##Transfer-Encoding###################指定封包主體的傳輸編碼方式########### #############Upgrade###################升級為其他協議,偵測是否可使用更高版本協定通訊#### ####################Via###################代理伺服器的相關訊息,追蹤客戶端和伺服器之間的請求和回應封包的傳輸路徑#########################Warning############## ####錯誤通知,通常會告知使用者一些與快取相關的問題的警告##################

 

http1.1 警告碼(Warning共七種)

110代理程式傳回已過期的資源111

警告碼

警告內容

#Response is stale(回應已過期

)

Revalidation failed(再驗證失敗

)

##代理無法驗證資源有效性時失敗(伺服器無法到達等原因)

112

Disconnection operation(斷開連結操作)

代理與互聯網連結被故意切斷

#113

Heuristic expiration(試探性過期)

回應的使用期間超過24 小時(有效快取的設定時間大於24小時的情況)

##199

Miscellaneous warning(雜項警告)

#任意警告的內容

214

Tansformation applied(使用了轉換)

##代理程式對內容編碼或媒體類型等執行了某些處理時

#299

Miscellaneous persistent warning(持久雜項警告)

任意的警告內容

 

 

http請求首個欄位

#使用者代理程式可處理的媒體類型及媒體類型的相對優先級Accept-Char#優先的字元集,用戶代理支援的字元集及相對優先順序優先的內容編碼,用戶代理支援的內容編碼及優先順序Accept-優先的語言,用戶代理能處理的自然語言及自然語言集的相對優先級#Web認證資訊#都期待伺服器的特定行為使用者的電子郵件地址請求資源所在的伺服器(主機名稱和連接埠號碼)狀態碼狀態碼

請求首個欄位

說明

#Accept

set

Accept-Encoding

Lang

uage

Authorization

##Expect

From

Host

If-Match

#與實體標記(ETag)比較,若相同則執行請求,否則回傳412

If -Modefied-Since

If-Modefied-Since欄位值早於資源的更新#時間,則希望處理該請求,否則返回304

If-None-Match

比較實體標記(與If-Match

##想反)

If-

Range

##資源未更新時發送實體Byte的範圍請求。若If-Range欄位值和請求資源的ETag值或時間相符時,則會作為範圍請求處理,否則傳回全體資源

If-Unmodified-Since

比較資源的更新時間(與If-Modified-Since想反)

#Max-Forwards

最大傳輸逐跳數(以十進位形式指定可經過的伺服器的最大數目)

Proxy-Authorization

#代理伺服器要求客戶端的認證資訊

#Range###################實體的位元組範圍請求####### #################Referer######

對請求中URI的原始獲取方(請求的原始資源的URI#)

TE

告知伺服器用戶端能處理回應的傳輸編碼方式及相對優先權

#User-Agent

http用戶端程式的資訊

## 

http

回應首部欄位

#代理伺服器對客戶端的認證資訊訊息代理伺服器快取的管理資訊

#回應首部欄位

說明

Accept-Ranges

是否接受位元組範圍請求

Age

資源建立經過的時間,單位為秒

ETag

資源的匹配訊息,能告知客戶端實體識別

#Location

令客戶端重定向至指定URI

#Proxy-Authenticate

#Retry-After

對再次發起請求的時機要求

Server

http伺服器的

安裝

Vary

############# ####WWW-Authenicate##################伺服器對客戶端的認證資訊######################################################################################################################################

 

 

http實體首個欄位

實體首個欄位

說明

#Allow

#資源可支援的http方法

Content-Encoding

實體適用的編碼方式

Content-Language

實體的自然語言

##Content-Length

實體的大小(單位為位元組)

Content-Location

取代對應資源的URI

##Content-

MD5

#實體主體的封包

摘要

Content-Range

實體主體的位置範圍

Content-Type

實體主體的媒體類型

Expires

實體主體過期的日期時間

Last-Modified

資源最後修改的日期時間

以上是http的方法,狀態碼和組成部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn