1. 程式人生 > >HTTP常見狀態碼和調錯方法

HTTP常見狀態碼和調錯方法

**200 Ok:**客戶端請求成功
**400 Bad Request:**引數型別不匹配;
解決步驟:
1)檢視前端傳送的資料型別、欄位名及請求方法
2)檢視後端接收資料的方式是否和前端匹配
3)檢視欄位名是否一致
4)檢視資料型別是否一致
**401 Unauthorized:**請求未經授權
401錯誤程式碼提示通常有以下三種類型:
  1、HTTP錯誤401.1-未經授權:訪問由於憑據無效被拒絕;
  2、HTTP錯誤401.2-未經授權:訪問由於伺服器配置被拒絕;
  3、HTTP錯誤401.3-未經授權:訪問由於ACL對所請求資源的設定被拒絕。
  401錯誤解決方法:
  一、針對401.1錯誤的解決步驟是:
  1、控制面板——管理工具——計算機管理——本地使用者和組,將IUSR_機器名賬號啟用;
  2、開始——程式——管理工具——本地安全策略——安全策略——本地策略——使用者許可權分配,雙擊“從網路訪問此計算機”,新增IIS預設使用者或者其所屬的組。
  二、針對401.2錯誤的解決步驟是:
  1、開始——執行,輸入inetmgr,並確認執行,開啟IIS(Internet資訊服務管理器);
  2、開啟站點屬性——目錄安全性——身份驗證和訪問控制——選中“啟用匿名訪問”,輸入使用者名稱,或者點選“瀏覽”選擇合法的使用者,並兩次輸入密碼後確定。
  三、針對401.3錯誤的解決方法是:
  1、選中401錯誤網站根目錄資料夾,單擊右鍵選擇“共享與安全”;
  2、在彈出的設定框內選擇“安全”,並配置資料夾讀寫許可權。
403 Forbidden:

禁止訪問
403.1 禁止:禁止執行訪問
如果從並不允許執行程式的目錄中執行 CGI、ISAPI或其他執行程式就可能引起此錯誤。
403.2 禁止:禁止讀取訪問
如果沒有可用的預設網頁或未啟用此目錄的目錄瀏覽,或者試圖顯示駐留在只標記為執行或指令碼許可權的目錄中的HTML 頁時就會導致此錯誤。
403.3 禁止:禁止寫訪問
如果試圖上載或修改不允許寫訪問的目錄中的檔案,就會導致此問題。
403.4 禁止:需要 SSL
此錯誤表明試圖訪問的網頁受安全套接字層(SSL)的保護。要檢視,必須在試圖訪問的地址前輸入https:// 以啟用 SSL。
403.5 禁止:需要 SSL 128
此錯誤訊息表明您試圖訪問的資源受 128位的安全套接字層(SSL)保護。要檢視此資源,需要有支援此SSL 層的瀏覽器。
請確認瀏覽器是否支援 128 位 SSL安全性。如果支援,就與 Web伺服器的管理員聯絡,並報告問題。
403.6 禁止:拒絕 IP 地址
如果伺服器含有不允許訪問此站點的 IP地址列表,並且您正使用的 IP地址在此列表中,就會導致此問題。
403.7 禁止:需要使用者證書
當試圖訪問的資源要求瀏覽器具有伺服器可識別的使用者安全套接字層(SSL)證書時就會導致此問題。可用來驗證您是否為此資源的合法使用者。
請與 Web伺服器的管理員聯絡以獲取有效的使用者證書。
403.8 禁止:禁止站點訪問
如果 Web伺服器不為請求提供服務,或您沒有連線到此站點的許可權時,就會導致此問題。
403.9 禁止訪問:所連線的使用者太多
如果 Web太忙併且由於流量過大而無法處理您的請求時就會導致此問題。請稍後再次連線。
403.10 禁止訪問:配置無效
此時 Web 伺服器的配置存在問題。
403.11 禁止訪問:密碼已更改
在身份驗證的過程中如果使用者輸入錯誤的密碼,就會導致此錯誤。請重新整理網頁並重試。
403.12 禁止訪問:對映程式拒絕訪問
拒絕使用者證書試圖訪問此 Web 站點。
請與站點管理員聯絡以建立使用者證書許可權。如果必要,也可以更改使用者證書並重試。
404 Not Found:
請求資源不存在。
解決方法:檢查url是否正確、後端控制器的requestmapping是否正確
**500 Internal Server Error:**伺服器發生不可預期的錯誤
解決方法:根據tomcat日誌排查問題
**503 Server Unavailable:**伺服器暫時不可訪問
產生原因
  1.網路管理員可能關閉應用程式池以執行維護。
  2.當請求到達時應用程式池佇列已滿。
  3.應用程式池標識沒有使用預定義賬戶:網路服務,而自己配置了標識,但是配置的這個使用者不屬於IIS_WPG組。
  4.應用程式池啟用了CPU監視,並且設定了CPU利用率超過一定百分比關閉應用程式池,而開發人員寫的服務端頁面(.asp,.aspx)執行效率不高,會引起CPU的長時間佔用,最終達到設定的百分比,從而引起應用程式池關閉
  5.應用程式池的效能選項卡的請求佇列限制所填的數值太小,預設為1000。
  
6.web.config的system.web/httpRuntime節點的appRequestQueueLimit屬性設定的值太低。

  7.該站點正在被攻擊。對於最新型的攻擊,其實是ddos的一種派生,原理在於找數千個IP,同時向伺服器的apache發出請求,然後 立即斷開,讓apache處於等待狀態,致使apache執行緒全部被填滿,致使伺服器宕機。因此,為了保證大多數客戶的利益,我們給每個 空間,作出了每19秒64個php請求的限制。注意,是php請求,一般的圖片請求和html請求不包括在內。
  8.該程式佔用的php執行緒過多,有的程式沒有進行好優化處理,一個點選即可產生數個,甚至數十個php執行緒。這樣的話,幾個點選就可以把該時段的64個php執行緒全部填滿了。因此出現503錯誤。建議優化一下程式,儘量少用require(“請求”之意)等語句
解決方法
  1.驗證是否已為虛擬伺服器配置了應用程式池。預設的應用程式池是MSSharePointPortalAppPool。請按照下列步驟來確定虛擬伺服器正在使用的應用程式池。
  a.單擊“開始”,指向“管理工具”,然後單擊“Internet資訊服務(IIS)管理器”。
  b.展開“ServerName”,展開“Web站點”,右鍵單擊虛擬伺服器,然後單擊“屬性”。
  c.單擊“主目錄”選項卡。為虛擬伺服器配置的應用程式池列在“應用程式池”框中。
  d.單擊“確定”。
  2、驗證應用程式池帳戶使用的密碼是否正確。IIS不會自動輪詢ActiveDirectory目錄服務中的密碼更改。如果應用程式池帳戶是一個域帳戶,其密碼已過期,則在為此帳戶重新指定一個新密碼後,您可能會收到本文“症狀”部分所描述的錯誤資訊。
  3、驗證應用程式池帳戶是伺服器上的IIS_WPG組和STS_WPG組的成員。
  4、重新啟動IIS以回收應用程式池。