當前位置:首頁 » 網頁前端 » web狀態碼查看教程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web狀態碼查看教程

發布時間: 2022-11-25 23:36:22

㈠ 無線路由器Web認證設置教程

作為不同網路之間互相連接的樞紐,路由器系統構成了基於TCP/IP 的國際互聯網路Internet 的主體脈絡,也可以說,路由器構成了Internet的骨架。目前越來越多的服務場所採用了無線路由器Web認證來實現上網登錄,那麼,無線路由器Web認證怎麼設置?對此,本文就以TP-LINK路由器為例,來為大家介紹Web認證無線路由器的設置方法

Web認證TP-LINK路由器步驟:

Web認證的設置第一步、web認證配置

舉例型號。TL-ER6520G

登錄路由器管理界面,點擊 認證管理 >> 認證設置 >> Web認證,具體設置如下。

注意。認證方式若選擇為“一鍵上網”,則無需第二步“新增用戶”。

Web認證的設置第二步、新增用戶

點擊 認證管理 >> 用戶管理 >> 本地用戶,點擊 新增,如下。

用戶設置如下。

添加完成用戶後,即可開始驗證認證效果。

Web認證的設置第三步、連接無線上網

1.連接無線信號

無線終端(手機)連接無線網路後,跳轉到認證登錄頁面(部分Android手機需要打開瀏覽器),如下。

2.登錄上網

輸入用戶名、密碼,點擊 登錄 後,無線終端就可以免費上網。

至此,Web認證設置完成,無線終端只需要連接Wi-Fi信號,輸入對應的認證用戶名密碼即可上網。

如果您想查看通過認證的終端列表,可以點擊 認證管理 >> 認證狀態,如下。

相關閱讀:路由器安全特性關鍵點

由於路由器是網路中比較關鍵的設備,針對網路存在的各種安全隱患,路由器必須具有如下的安全特性:

(1)可靠性與線路安全 可靠性要求是針對故障恢復和負載能力而提出來的。對於路由器來說,可靠性主要體現在介面故障和網路流量增大兩種情況下,為此,備份是路由器不可或缺的手段之一。當主介面出現故障時,備份介面自動投入工作,保證網路的正常運行。當網路流量增大時,備份介面又可承當負載分擔的任務。

(2)身份認證路由器中的身份認證主要包括訪問路由器時的身份認證、對端路由器的身份認證和路由信息的身份認證。

(3)訪問控制對於路由器的訪問控制,需要進行口令的分級保護。有基於IP地址的訪問控制和基於用戶的訪問控制。

(4)信息隱藏與對端通信時,不一定需要用真實身份進行通信。通過地址轉換,可以做到隱藏網內地址,只以公共地址的方式訪問外部網路。除了由內部網路首先發起的連接,網外用戶不能通過地址轉換直接訪問網內資源。

(5)數據加密

為了避免因為數據竊聽而造成的信息泄漏,有必要對所傳輸的信息進行加密,只有與之通信的對端才能對此密文進行解密。通過對路由器所發送的報文進行加密,即使在Internet上進行傳輸,也能保證數據的私有性、完整性以及報文內容的真實性。

(6)攻擊探測和防範

路由器作為一個內部網路對外的介面設備,是攻擊者進入內部網路的第一個目標。如果路由器不提供攻擊檢測和防範,則也是攻擊者進入內部網路的一個橋梁。在路由器上提供攻擊檢測,可以防止一部分的攻擊。

(7)安全管理

㈡ delphi中的webbrowser ,如何獲取網站返回狀態碼

繼承TWebbrowser類,網上去找 DWebBrowserEvents2 的介面聲明。重寫Invoke函數,在裡面添加對NavigateError事件的處理。。。就能得到這個狀態碼了。

㈢ 如何理解HTTP響應的狀態碼

HTTP狀態碼(HTTP Status Code)是用以表示網頁伺服器HTTP響應狀態的3位數字代碼。


  1. 消息(1字頭):這一類型的狀態碼,代表請求已被接受,需要繼續處理。這類響應是臨時響應,只包含狀態行和某些可選的響應頭信息,並以空行結束。由於 HTTP/1.0 協議中沒有定義任何 1xx 狀態碼,所以除非在某些試驗條件下,伺服器禁止向此類客戶端發送 1xx 響應。

  2. 成功(2字頭):這一類型的狀態碼,代表請求已成功被伺服器接收、理解、並接受

  3. 重定向(3字頭):這類狀態碼代表需要客戶端採取進一步的操作才能完成請求。通常,這些狀態碼用來重定向,後續的請求地址(重定向目標)在本次響應的 Location 域中指明。

  4. 請求錯誤(4字頭):這類的狀態碼代表了客戶端看起來可能發生了錯誤,妨礙了伺服器的處理。除非響應的是一個 HEAD 請求,否則伺服器就應該返回一個解釋當前錯誤狀況的實體,以及這是臨時的還是永久性的狀況。這些狀態碼適用於任何請求方法。瀏覽器應當向用戶顯示任何包含在此類錯誤響應中的實體內容。

  5. 伺服器錯誤(5、6字頭):這類狀態碼代表了伺服器在處理請求的過程中有錯誤或者異常狀態發生,也有可能是伺服器意識到以當前的軟硬體資源無法完成對請求的處理。除非這是一個HEAD 請求,否則伺服器應當包含一個解釋當前錯誤狀態以及這個狀況是臨時的還是永久的解釋信息實體。瀏覽器應當向用戶展示任何在當前響應中被包含的實體。

    這些狀態碼適用於任何響應方法。

㈣ 如何才能獲取到http的響應狀態碼

HttpWebResponse.StatusCode:

Accepted

等效於 HTTP 狀態 202。Accepted 指示請求已被接受做進一步處理。
Ambiguous

等效於 HTTP 狀態 300。Ambiguous 指示請求的信息有多種表示形式。默認操作是將此狀態視為重定向,並遵循與此響應關聯的 Location 頭的內容。
如果 HttpWebRequest.AllowAutoRedirect 屬性為 false,則 Ambiguous 將導致引發異常。

Ambiguous 是 MultipleChoices 的同義詞。

BadGateway

等效於 HTTP 狀態 502。BadGateway 指示中間代理伺服器從另一代理或原始伺服器接收到錯誤響應。
BadRequest

等效於 HTTP 狀態 400。BadRequest 指示伺服器未能識別請求。如果沒有其他適用的錯誤,或者如果不知道准確的錯誤或錯誤沒有自己的錯誤代碼,則發送 BadRequest。
Conflict

等效於 HTTP 狀態 409。Conflict 指示由於伺服器上的沖突而未能執行請求。
Continue

等效於 HTTP 狀態 100。Continue 指示客戶端可能繼續其請求。
Created

等效於 HTTP 狀態 201。Created 指示請求導致在響應被發送前創建新資源。
ExpectationFailed

等效於 HTTP 狀態 417。ExpectationFailed 指示伺服器未能符合 Expect 頭中給定的預期值。
Forbidden

等效於 HTTP 狀態 403。Forbidden 指示伺服器拒絕滿足請求。
Found

等效於 HTTP 狀態 302。Found 指示請求的信息位於 Location 頭中指定的 URI
處。接收到此狀態時的默認操作為遵循與響應關聯的 Location 頭。原始請求方法為 POST 時,重定向的請求將使用
GET 方法。
如果 HttpWebRequest.AllowAutoRedirect 屬性為 false,則 Found 將導致引發異常。

Found 是 Redirect 的同義詞。

GatewayTimeout

等效於 HTTP 狀態 504。GatewayTimeout 指示中間代理伺服器在等待來自另一個代理或原始伺服器的響應時已超時。
Gone

等效於 HTTP 狀態 410。Gone 指示請求的資源已不再可用。
HttpVersionNotSupported

等效於 HTTP 狀態 505。HttpVersionNotSupported 指示伺服器不支持請求的 HTTP 版本。
InternalServerError

等效於 HTTP 狀態 500。InternalServerError 指示伺服器上發生了一般錯誤。
LengthRequired

等效於 HTTP 狀態 411。LengthRequired 指示缺少必需的 Content-length 頭。
MethodNotAllowed

等效於 HTTP 狀態 405。MethodNotAllowed 指示請求的資源上不允許請求方法(POST 或 GET)。
Moved

等效於 HTTP 狀態 301。Moved 指示請求的信息已移到 Location 頭中指定的 URI
處。接收到此狀態時的默認操作為遵循與響應關聯的 Location 頭。原始請求方法為 POST 時,重定向的請求將使用
GET 方法。
Moved 是 MovedPermanently 的同義詞。

MovedPermanently

等效於 HTTP 狀態 301。MovedPermanently 指示請求的信息已移到 Location 頭中指定的 URI 處。接收到此狀態時的默認操作為遵循與響應關聯的 Location 頭。
MovedPermanently 是 Moved 的同義詞。

MultipleChoices

等效於 HTTP 狀態 300。MultipleChoices 指示請求的信息有多種表示形式。默認操作是將此狀態視為重定向,並遵循與此響應關聯的 Location 頭的內容。
如果 HttpWebRequest.AllowAutoRedirect 屬性為 false,則 MultipleChoices 將導致引發異常。

MultipleChoices 是 Ambiguous 的同義詞。

NoContent

等效於 HTTP 狀態 204。NoContent 指示已成功處理請求並且響應已被設定為無內容。
NonAuthoritativeInformation

等效於 HTTP 狀態 203。NonAuthoritativeInformation 指示返回的元信息來自緩存副本而不是原始伺服器,因此可能不正確。
NotAcceptable

等效於 HTTP 狀態 406。NotAcceptable 指示客戶端已用 Accept 頭指示將不接受資源的任何可用表示形式。
NotFound

等效於 HTTP 狀態 404。NotFound 指示請求的資源不在伺服器上。
NotImplemented

等效於 HTTP 狀態 501。NotImplemented 指示伺服器不支持請求的函數。
NotModified

等效於 HTTP 狀態 304。NotModified 指示客戶端的緩存副本是最新的。未傳輸此資源的內容。

㈤ 怎麼查看一個網站有沒有做404頁面

你好,很高興為你解答

如何查看和檢測網站的404頁面

這個問題

如何查看(以.com為例):

這里主要看頁面的返回狀態,比如上圖返回狀態是200

一些常見的狀態碼為:

200- 伺服器成功返回網頁

404- 請求的網頁不存在

503- 服務不可用


希望能幫到你!

㈥ 常見HTTP狀態碼匯總說明

下面是工作中我們常用的15個 HTTP狀態碼 ,必須 牢記

如果你想深入了解具體的HTTP狀態碼,請參考:HTTP狀態碼超詳細說明

這個狀態碼是告訴客戶端應該 繼續發送請求 ,這個臨時響應是用來通知客戶端的,部分的請求伺服器已經接受,但是客戶端應繼續發送求請求的剩餘部分,如果請求已經完成,就忽略這個響應,而且伺服器會在請求完成後向客戶發送一個最終的結果

這個是 最常見 的http狀態碼,表示伺服器已經成功接受請求,並將返回客戶端所請求的最終結果。

說白了,就是 一切正常

表示伺服器已經接受了請求,但是 還沒有處理 ,而且這個請求最終會不會處理還不確定

伺服器成功處理了請求,但 沒有返回任何實體內容 ,可能會返回新的頭部元信息

伺服器已經 成功處理了部分GET請求

類似於FlashGet或者迅雷這類的HTTP 下載工具,都是使用此類響應實現斷點續傳,或者將一個大文檔分解為多個下載段同時下載。

客戶端請求的網頁已經永久移動到新的位置,當鏈接發生變化時,返回301代碼告訴客戶端鏈接的變化,客戶端保存新的鏈接,並向新的鏈接發出請求,已返回請求結果。

請求的資源現在臨時從不同的URI響應請求。由於這樣的重定向是臨時的,客戶端應當繼續向原有地址發送以後的請求。

如果客戶端發送了一個帶條件的GET 請求且該請求已被允許,而文檔的內容(自上次訪問以來或者根據請求的條件)並沒有改變,則伺服器應當返回這個304狀態碼。

簡單的表達就是:服務端已經執行了GET,但文件未變化。

關於HTTP緩存內容可參考:一文了解HTTP緩存

Web伺服器通過返回HTTP 400錯誤告訴訪問者,訪問者用來訪問網站的程序出錯,或訪問請求途中遭到破壞。

訪問者試圖訪問受限頁面但未經授權時,網站返回HTTP 401錯誤。錯誤登錄嘗試是導致這一錯誤的主因。

403錯誤類似於401錯誤,不同之處在於401錯誤是未經授權,而403錯誤是禁止訪問。 任何登錄對403錯誤都不起作用。 嘗試訪問(被禁止的)網站目錄時,就會發生403錯誤。

請求失敗,客戶端請求的資源沒有找到或者是不存在。

也是比較常見的。

伺服器遇到未知的錯誤,導致無法完成客戶端當前的請求。

作為網關或者代理工作的伺服器嘗試執行請求時,從上游伺服器接收到無效的響應。

伺服器由於臨時的伺服器過載或者是維護,無法解決當前的請求,以上http狀態碼是伺服器經常返回的狀態代碼,用戶只能通過瀏覽器的狀態了解伺服器是否正常運行,一般除了錯誤的狀態碼,都不會看到伺服器的狀態碼的。

㈦ 常用狀態碼

狀態碼的職責是當客戶端向伺服器發送請求時,描述返回的請求結果。藉助狀態碼,用戶可以知道伺服器端是正常處理了請求還是出現了錯誤。

狀態碼的類別:

1XX Informational(信息性狀態碼) 接受的請求正在處理
2XX Success(成功狀態碼) 請求正常處理完畢
3XX Redirection(重定向狀態碼) 需要進行附加操作以完成請求
4XX Client Error(客戶端錯誤狀態碼) 伺服器無法處理請求
5XX Server Error(伺服器錯誤狀態碼) 伺服器處理請求出錯

2XX——表明請求被正常處理了

1、200 OK:請求已正常處理。

2、204 No Content:請求處理成功,但沒有任何資源可以返回給客戶端,一般在只需要從客戶端往伺服器發送信息,而對客戶端不需要發送新信息內容的情況下使用。

3、206 Partial Content:是對資源某一部分的請求,該狀態碼表示客戶端進行了范圍請求,而伺服器成功執行了這部分的GET請求。響應報文中包含由Content-Range指定范圍的實體內容。

3XX——表明瀏覽器需要執行某些特殊的處理以正確處理請求

4、301 Moved Permanently:資源的uri已更新,你也更新下你的書簽引用吧。永久性重定向,請求的資源已經被分配了新的URI,以後應使用資源現在所指的URI。

5、302 Found:資源的URI已臨時定位到其他位置了,姑且算你已經知道了這個情況了。臨時性重定向。和301相似,但302代表的資源不是永久性移動,只是臨時性性質的。換句話說,已移動的資源對應的URI將來還有可能發生改變。

6、303 See Other:資源的URI已更新,你是否能臨時按新的URI訪問。該狀態碼表示由於請求對應的資源存在著另一個URL,應使用GET方法定向獲取請求的資源。303狀態碼和302狀態碼有著相同的功能,但303狀態碼明確表示客戶端應當採用GET方法獲取資源,這點與302狀態碼有區別。

當301,302,303響應狀態碼返回時,幾乎所有的瀏覽器都會把POST改成GET,並刪除請求報文內的主體,之後請求會自動再次發送。

7、304 Not Modified:資源已找到,但未符合條件請求。該狀態碼表示客戶端發送附帶條件的請求時(採用GET方法的請求報文中包含If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since中任一首部)服務端允許請求訪問資源,但因發生請求未滿足條件的情況後,直接返回304.。

8、307 Temporary Redirect:臨時重定向。與302有相同的含義。

4XX——表明客戶端是發生錯誤的原因所在。

9、400 Bad Request:伺服器端無法理解客戶端發送的請求,請求報文中可能存在語法錯誤。

10、401 Unauthorized:該狀態碼表示發送的請求需要有通過HTTP認證(BASIC認證,DIGEST認證)的認證信息。

11、403 Forbidden:不允許訪問那個資源。該狀態碼表明對請求資源的訪問被伺服器拒絕了。(許可權,未授權IP等)

12、404 Not Found:伺服器上沒有請求的資源。路徑錯誤等。

5XX——伺服器本身發生錯誤

13、500 Internal Server Error:貌似內部資源出故障了。該狀態碼表明伺服器端在執行請求時發生了錯誤。也有可能是web應用存在bug或某些臨時故障。

14、503 Service Unavailable:抱歉,我現在正在忙著。該狀態碼表明伺服器暫時處於超負載或正在停機維護,現在無法處理請求。

參考文獻:圖解HTTP【日】上野宣 著 於均良 議
轉自: https://blog.csdn.net/qq_35689573/article/details/82120851

㈧ 老盧SEO教程第8節:HTTP狀態碼是什麼意思

HTTP狀態碼就是在通過一些數字來判斷網站鏈接是什麼狀態
一些常見的狀態碼為:
200 - 伺服器成功返回網頁 404 - 請求的網頁不存在 503 - 服務不可用
所有狀態解釋:
1xx(臨時響應)
表示臨時響應並需要請求者繼續執行操作的狀態代碼。
代碼 說明
100 (繼續) 請求者應當繼續提出請求。 伺服器返回此代碼表示已收到請求的第一部分,正在等待其餘部分。
101 (切換協議) 請求者已要求伺服器切換協議,伺服器已確認並准備切換。
2xx (成功)
表示成功處理了請求的狀態代碼。
代碼 說明
200 (成功) 伺服器已成功處理了請求。 通常,這表示伺服器提供了請求的網頁。
201 (已創建) 請求成功並且伺服器創建了新的資源。
202 (已接受) 伺服器已接受請求,但尚未處理。
203 (非授權信息) 伺服器已成功處理了請求,但返回的信息可能來自另一來源。
204 (無內容) 伺服器成功處理了請求,但沒有返回任何內容。
205 (重置內容) 伺服器成功處理了請求,但沒有返回任何內容。
206 (部分內容) 伺服器成功處理了部分 GET 請求。
3xx (重定向)
表示要完成請求,需要進一步操作。 通常,這些狀態代碼用來重定向。
代碼 說明
300 (多種選擇) 針對請求,伺服器可執行多種操作。 伺服器可根據請求者 (user agent) 選擇一項操作,或提供操作列表供請求者選擇。
301 (永久移動) 請求的網頁已永久移動到新位置。 伺服器返回此響應(對 GET 或 HEAD 請求的響應)時,會自動將請求者轉到新位置。
302 (臨時移動) 伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。
303 (查看其他位置) 請求者應當對不同的位置使用單獨的 GET 請求來檢索響應時,伺服器返回此代碼。
304 (未修改) 自從上次請求後,請求的網頁未修改過。 伺服器返回此響應時,不會返回網頁內容。
305 (使用代理) 請求者只能使用代理訪問請求的網頁。 如果伺服器返回此響應,還表示請求者應使用代理。
307 (臨時重定向) 伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。
4xx(請求錯誤)
這些狀態代碼表示請求可能出錯,妨礙了伺服器的處理。
代碼 說明
400 (錯誤請求) 伺服器不理解請求的語法。
401 (未授權) 請求要求身份驗證。 對於需要登錄的網頁,伺服器可能返回此響應。
403 (禁止) 伺服器拒絕請求。
404 (未找到) 伺服器找不到請求的網頁。
405 (方法禁用) 禁用請求中指定的方法。
406 (不接受) 無法使用請求的內容特性響應請求的網頁。
407 (需要代理授權) 此狀態代碼與 401(未授權)類似,但指定請求者應當授權使用代理。
408 (請求超時) 伺服器等候請求時發生超時。
409 (沖突) 伺服器在完成請求時發生沖突。 伺服器必須在響應中包含有關沖突的信息。
410 (已刪除) 如果請求的資源已永久刪除,伺服器就會返回此響應。
411 (需要有效長度) 伺服器不接受不含有效內容長度標頭欄位的請求。
412 (未滿足前提條件) 伺服器未滿足請求者在請求中設置的其中一個前提條件。
413 (請求實體過大) 伺服器無法處理請求,因為請求實體過大,超出伺服器的處理能力。
414 (請求的 URI 過長) 請求的 URI(通常為網址)過長,伺服器無法處理。
415 (不支持的媒體類型) 請求的格式不受請求頁面的支持。
416 (請求范圍不符合要求) 如果頁面無法提供請求的范圍,則伺服器會返回此狀態代碼。
417 (未滿足期望值) 伺服器未滿足"期望"請求標頭欄位的要求。
5xx(伺服器錯誤)
這些狀態代碼表示伺服器在嘗試處理請求時發生內部錯誤。 這些錯誤可能是伺服器本身的錯誤,而不是請求出錯。
代碼 說明
500 (伺服器內部錯誤) 伺服器遇到錯誤,無法完成請求。
501 (尚未實施) 伺服器不具備完成請求的功能。 例如,伺服器無法識別請求方法時可能會返回此代碼。
502 (錯誤網關) 伺服器作為網關或代理,從上游伺服器收到無效響應。
503 (服務不可用) 伺服器目前無法使用(由於超載或停機維護)。 通常,這只是暫時狀態。
504 (網關超時) 伺服器作為網關或代理,但是沒有及時從上游伺服器收到請求。
505 (HTTP 版本不受支持) 伺服器不支持請求中所用的 HTTP 協議版本。

㈨ 如何理解HTTP響應的狀態碼

關於HTTP協議規范以及狀態碼在其中的作用,參見:讀 HTTP 協議。 參考鏈接:http://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81

1xx

1xx表示請求已被接受,但需要後續處理。例如:

100(Continue)

客戶端應繼續發送請求。

101(Switching Protocols)

需要切換協議,伺服器通過的Upgrade響應頭欄位通知客戶端。

HTML5引入的WebSocket便是這樣工作的。首先客戶端請求websocket所在的URL,伺服器返回101,然後便建立了全雙工的TCP連接。 注意Upgrade和Connection頭欄位屬於Hop-by-hop欄位,設置Websocket代理時需要繼續設置這兩個欄位,而不是簡單地轉發請求。

2xx

請求已成功被伺服器接收、理解、並接受。

200(OK)

請求已成功,請求所希望的響應頭或數據體將隨此響應返回。

201(Created)

請求已經被實現,而且有一個新的資源已經依據請求的需要而創建。在RESTFul風格的URL設計中,通常用來響應POST請求。

202(Accepted)

伺服器已接受請求,但尚未處理。比如POST一個資源應當返回201,但由於性能原因未能立即創建,可以返回202。

204(No Content)

伺服器成功處理了請求,但不需要返回任何實體內容,204響應禁止包含任何消息體。瀏覽器收到該響應後不應產生文檔視圖的變化。

205(Reset Content)

伺服器成功處理了請求,但不需要返回任何實體內容,205響應禁止包含任何消息體。 與204不同的是,返回此狀態碼的響應要求請求者重置文檔視圖。比如用戶剛剛提交一個表單,返回205後頁面重置,用戶可以立即填寫下一個表單。

206(Partial Content)

HTTP協議允許分片傳輸。請求頭中包含Range欄位時,響應需要只返回Range指定的那一段。響應中應包含Content-Range來指示返回內容的范圍。

其他

203(Non-Authoritative Information)
207(Multi-Status)

3xx

這類狀態碼代表需要客戶端採取進一步的操作才能完成請求。通常,這些狀態碼用來重定向, 重定向目標在本次響應的Location頭欄位中指明。

301(Moved Permanently)

被請求的資源已永久移動到新位置,並且將來任何對此資源的引用都應該使用本響應返回的若干個URI之一。如果該請求不是GET/HEAD, 瀏覽器通常會要求用戶確認重定向。

301通常用於網站遷移時,伺服器對舊的URL進行301重定向到新的URL。這樣搜索引擎可以正確地更新原有的頁面排名等信息。

302(Found)

請求的資源現在臨時從不同的URI響應請求。除非指定了Cache-Control或Expires,否則該響應不可緩存。
如果當前請求非HEAD或GET,瀏覽器需取得用戶確認,再進行重定向。

這很好理解,因為上下文發生了變化,比如POST請求不是冪等的。

303(See Other)

對應當前請求的響應可以在另一個URI上被找到,而且客戶端應當採用GET的方式訪問那個資源。 這個方法的存在主要是為了允許由腳本激活的POST請求輸出重定向到一個新的資源。 303響應禁止被緩存。

303會使得瀏覽器直接GET那個資源,不需用戶同意。這是Web應用中最常見的重定向方式。

304(Not Modified)

如果客戶端發送了一個帶條件的GET請求且該請求已被允許,而文檔的內容(自上次訪問以來或者根據請求的條件)並沒有改變。 304響應禁止包含消息體。

304響應也是一種緩存機制。Web伺服器對靜態資源文件通常會採取緩存,因此在Web開發中你可以看到大量的304響應。 伺服器給出的相應中通常會包含Etag來標識資源ID,比如:

ETag: "686897696a7c876b7e"

客戶端在下次訪問同一URL時會設置頭欄位If-None-Match(這是一個請求條件):

If-None-Match: "686897696a7c876b7e"

伺服器返回資源前會判斷Etag是否與客戶端提供的If-None-Match匹配,如果匹配則說明資源未發生改變,此時應返回304.

其他

300(Multiple Choices)
305(Use Proxy)
307(Temporary Redirect)

4xx

這類的狀態碼代表了客戶端看起來可能發生了錯誤,妨礙了伺服器的處理。 除非響應的是一個HEAD請求,否則伺服器就應該返回一個解釋當前錯誤狀況的實體。

400(Bad Request)

由於包含語法錯誤,當前請求無法被伺服器理解。400通常在伺服器端表單驗證失敗時返回。

401(Unauthorized)

當前請求需要用戶驗證,響應中會包含一個WWW-Authenticate欄位來詢問用戶的授權信息。
而客戶端的下次請求需要提供包含Authorization頭的請求。

HTTP Basic Auth就是這樣實現的。當伺服器返回401時瀏覽器會彈出窗口:

![][basic-auth]

輸入驗證信息並點擊確定,瀏覽器會根據你的輸入填寫Authentication頭並重新發送請求。對於Basic
Auth看起來是這樣的:

Authorization:Basic eWFuZ2p2bjp5YW5nanZuaGFydA==

403(Forbidden)

伺服器已經理解請求,但是拒絕執行它。與401響應不同的是,身份驗證並不能提供任何幫助。

403和401一樣,需要在相應消息體中需要給出原因。除非是一個HEAD請求。

通常用於伺服器已經知道用戶的身份的情況。比如從請求的Cookie得到的Session中可以得知當前用戶無權進行該操作。 通常的Web應用中,對於401的情況應當重定向至登錄頁面,403的情況應當直接告知錯誤(這屬於前端Bug)。

404(Not Found)

這太常見了。就是請求所希望得到的資源未被在伺服器上發現。

當通常用於當伺服器不想揭示到底為何請求被拒絕時,比如應當返回500時伺服器不願透露自己的錯誤。

405(Method Not Allowed)

請求行中指定的請求方法不能被用於請求相應的資源。

在Web開發中通常是因為客戶端和伺服器的方法不一致,比如客戶端通過PUT來修改一個資源,而伺服器把它實現為POST方法。 開發中統一規范就好了。

413(Request Entity Too Large)

伺服器拒絕處理當前請求,因為該請求提交的實體數據大小超過了伺服器願意或者能夠處理的范圍。

一般的伺服器都會設置HTTP請求消息體的最大長度,當然這是一種阻擋攻擊的手段。
例如你在使用HTTP方式來訪問Git倉庫,如果你在倉庫中加入了大的二進制文件(通常為目標文件或多媒體文件),
在Push時伺服器很可能會返回413錯誤。如果切換為ssh協議就不會有這樣的問題了,伺服器只能限制整個倉庫的大小。

414(Request-URI Too Large)

當URI太長時,伺服器可以返回414. 當HTTP協議並未規定URI應當有多長。這取決於瀏覽器和伺服器的設置, 在伺服器中當然你想設置多長都可以,但是瀏覽器是你決定不了的,而且不同的廠商在採用不同的長度限制,可以認為最短的是2K:

The limit
is in MSIE and Safari about 2KB, in Opera about 4KB and in Firefox about
8KB, (255 bytes if we count very old browsers) .

當然URI長度的這一點限制會使得HTTP GET方法的能力有限,不能傳輸超過2K的數據。另外因為GET方法的所有數據都體現在URI上, 對於用戶是可見的。這一點不太安全。

其實HTTP GET傳輸數據理論上並不比POST安全更多,因為POST的Entity Body也是明文傳輸的。只是GET的數據用戶直接可見而已。

其他

402(Payment Required)
406(Not Acceptable)
407(Proxy Authentication Required)
408(Request Time-out)
409(Conflict)
410(Gone)
411(Length Required)
412(Precondition Failed)
415(Unsupported Media Type)
416(Requested range not satisfiable)
417(Expectation Failed)

5xx

這類狀態碼代表了伺服器在處理請求的過程中有錯誤或者異常狀態發生,也有可能是伺服器意識到以當前的軟硬體資源無法完成對請求的處理。 並且響應消息體中應當給出理由,除非是HEAD請求。

500(Internal Server Error)

通常是代碼出錯,後台Bug。一般的Web伺服器通常會給出拋出異常的調用堆棧。 然而多數伺服器即使在生產環境也會打出調用堆棧,這顯然是不安全的。

502(Bad Gateway)

作為網關或者代理工作的伺服器嘗試執行請求時,從上游伺服器接收到無效的響應。

如果你在用HTTP代理來翻牆,或者你配置了nginx來反向代理你的應用,你可能會常常看到它。

504(Gateway Time-out)

作為網關或者代理工作的伺服器嘗試執行請求時,未能及時從上游伺服器收到響應。

注意與502的區別:502是接收到了無效響應比如Connection
Refused; 504是響應超時,通常是被牆了。

很多國外站點都會使用CDN來Serve靜態文件,但我大中華牆掉了一些CDN。導致這些資源文件的請求會一直處於Pending狀態直到超時。
表現為瀏覽器顯示空白頁面,長時間處於等待狀態。這時在控制台看到HTML已經載入了就可以點擊停止按鈕了,停止載入那些資源。
頁面會立即顯示出來,雖然樣式和交互可能有問題。

說到這里想吐槽GFW簡直沒有行業道德,即使不允許我們訪問也返回一個錯誤嘛,不要讓瀏覽器一直處於等待的狀態。

其他

501(Not Implemented)
503(Service Unavailable)
505(HTTP Version not supported)

㈩ ios webvieww怎麼獲取狀態碼

[objc] @property (strong,nonatomic)UIWebView *webView; @property (strong,nonatomic)NSString *currentURL; @property (strong,nonatomic)NSString *currentTitle; @property (strong,nonatomic)NSString *currentHTML; [objc] view plainco...