標籤:有意思 cti php 響應 表示 permanent 定義 error code
HTTP與Status codes
HTTP可能大家都熟悉,就是超文字傳輸通訊協定 (HTTP)。瀏覽器通過HTTP與WEB Server通訊(也有一些其它軟體比如IM使用HTTP協議傳遞資料),把我們的請求(HTTP Request)傳遞給伺服器,伺服器響應這個請求,返回應答(HTTP Response)以及我們需要的資料。大致就是這個樣子了。
如果我們請求啥,伺服器就返回啥,是乎就不需要HTTP Status codes了。但是事情往往不是那麼簡單。比如我們請求一個網頁頁面,可是伺服器不存在這個頁面,或者這個頁面被轉移到其它地方,或者伺服器禁止我們查看 這個頁面等等,所以為了便於瀏覽器處理這些正確與不正確的情況,HTTP用Status codes來表示請求(HTTP Request)在伺服器端被處理的情況。Status codes通過應答(HTTP Response)返回給瀏覽器,瀏覽器根據這個作相應的處理。
HTTP Status codes的分類
既然有正確和錯誤的狀態,HTTP定義兩大類狀態代碼是不是就可以了?人家制訂協議的可是專家(不象我是冒充的),想得比我們要周全,要長遠。HTTP 1.1中定義了5大類Status codes,分別是:
Informational
意義:資訊
範圍:1XX
Successful
意義:成功
範圍:2XX
Redirection
意義:重新導向
範圍:3XX
Client Error
意義:用戶端錯誤
範圍:4XX
Server Error
意義:伺服器錯誤
範圍:5XX
您看看人家想得多周到啊,真專家就是真專家。
常見HTTP Status codes簡介
下面簡單介紹一下我們經常碰到的HTTP Status codes。
也許是我孤陋寡聞,常遇到的HTTP Status codes就那麼幾個,見笑啦。
Successful
200 - OK:OK
這個是最常見的啦(也許我們不會直接看到,但是如果您使用一些抓包工具,大多數http應答中都有這個)。意義很簡單,就是說伺服器收到並理解用戶端的請求而且正常處理了。
206 - Partial Content:部分內容。
這個也經常發生。很容易讓大家發懵。
通俗點說就是如果用戶端請求文檔(映像,文本,聲音等等)的部分內容,伺服器正常處理,那麼就返回206。大致意思就是它請求的時候,除了指定請求的內容,還指定了位移量以及長度。
部分內容,沒搞錯吧?呵呵沒搞錯,現在很多瀏覽器以及軟體支援斷點續傳就是靠這個的。呵呵,以後看到206不要怕了。
Redirection
301 - Moved Permanently:永久移動。
這個狀態代碼是指用戶端要請求的資源已經被永久的轉移到一個新的地方了。這個應答(HTTP Response)裡邊同時包含了資源的新地址。它告訴用戶端,如果下次還想要這個資源,那麼就用新的地址去取。
302 Found:臨時重新導向。
這個狀態代碼是指用戶端要請求的資源臨時放到一個新地方了。同樣,應答中也包含了資源的新地址。
307 - Temporary Redirect:臨時重新導向。(如果不去實現協議或者做相關開發,我們大致理解它很302差不多就可以啦)
有一篇談重新導向的文章《從Business.com遭封看302重新導向》很有意思
我們轉載了一份,地址:http://bbs.netpu.net/viewthread.php?tid=810
Client Error
400 - Bad Request:錯誤請求
就是請求的語法錯誤,伺服器無法理解。
401 – Unauthorized:未授權
當伺服器返回401 Code,就是告訴說用戶端訪問指定資源以前,必須通過伺服器的授權。
403 – Forbidden:禁止訪問
就是不允許訪問某些資源。
404 - Not Found:找不到
找不到用戶端請求的內容
Server Error
500 - Internal Server Error
伺服器內部錯誤。
HTTP狀態代碼(HTTP Status codes)簡介