1. 程式人生 > >http請求 405錯誤 方法不被允許 (Method not allowed)

http請求 405錯誤 方法不被允許 (Method not allowed)

由於自己疏忽,導致請求錯誤405,然後前端資料傳輸沒錯,百度大都說跟post提交方式有關,改成get還是報錯,檢查才知道,controller中忘記寫@requestMapping("/XXX"),hahhahah 被自己粗心蠢哭了,,,從而導致沒有沒有方法被載入到,方法不予許,下面是相關405錯誤的解釋

HTTP 協議定義一些方法,以指明為獲取客戶端(如您的瀏覽器或我們的 CheckUpDown 機器人)所指定的具體網址資源而需要在 Web 伺服器上執行的動作。則這些方法如下:

  • OPTIONS( 選項 ) :查詢適用於一個特定網址資源的通訊選擇。 在不需執行具體的涉及資料傳輸的動作情況下, 允許客戶端來確定與資源相關的選項以及 / 或者要求, 或是一個伺服器的效能。
  • GET( 獲取 ) :檢索由網址資源所確定的資訊,如獲取一個特定的網頁或圖片。這是最常用的方法。
  • HEAD( 頭 ) :除了伺服器只反饋標頭資訊而不是網址資源所確定的資訊本身外, 基本同於 GET ( 獲取 ) 。 可用於獲取一個請求所要求的響應實體的元資訊 ( metainformation) ,而不需傳輸響應實體本身。 經常用來測試超文字連結的有效性, 可達性, 和最近的修改。
  • POST( 投寄 ) :將資料提交到 Web 伺服器,如 1 )在電子公告板,新聞組中,或向 郵件名單傳送資訊, 2 )提供輸入資料 - 通常由一個公共閘道器介面(CGI) 表, 到 一個數據處理程序, 3 )直接將記錄新增到一個數據庫中。
  • PUT( 放置 ) :將一個具體網址的資料設定( 置入 / 替換)成客戶提交的新資料。例如,將新的網頁上載給伺服器。
  • DELETE( 刪除 ) :刪除與網址資源相關的資料。例如,刪除網頁。
  • TRACE( 跟蹤 ) :執行請求資訊的一個遠端應用層回送。 實際上是一個 'ping', 用以測試 Web 伺服器正在從客戶端接收什麼資料。
  • CONNECT( 連線 ) :保留以便通過代理伺服器和隧道一起使用(如 SSL )。這種方法只在 HTTP 1.1 版中定義, 而在先前的 1.0 版中卻沒有。

所有 Web 伺服器都可以被設定為允許或不允許任何方法。例如,如果一個 Web 伺服器是 ' 只讀 ' (客戶端不能修改 Web 伺服器上的網址資源) ,那麼它可以被設定為不允許 PUT 和 DELETE 方法。 同樣,如果沒有使用者輸入(所有的網頁都是靜態的) , 那麼 POST 方法可設定為不允許。 所以, 405 錯誤可能會因 Web 伺服器沒有被設定為從客戶端接受輸入資料而出現。 另外, 如果客戶端對請求中指明的具體網址資源沒有足夠的權力, 該錯誤也會出現。

HTTP 迴圈中的 405 錯誤

任何客戶端 ( 例如您的瀏覽器或我們的 CheckUpDown 機器人 ) ,都需要通過以下迴圈:

  • 從您站點的 IP 名稱 ( 即您站點的網址-URL, 不帶起始的 ‘http://') 獲得一個 IP 地址。這個對應關係 ( 即由 IP 名稱向 IP 地址轉換的對應關係 ) 由域名伺服器 (DNSs) 提供。
  • 開啟一個 IP 套接字 (socket) 連線到該 IP 地址。
  • 通過該套接字寫 HTTP 資料流。
  • 從您的Web伺服器接受響應的 HTTP 資料流。該資料流包括狀態編碼, 其值取決於 HTTP 協議 。 解析該資料流得到 狀態編碼和其他有用資訊。

該錯誤在以上所述的最後一步生成,即當客戶端收到 HTTP 狀態編碼並識別其為 ‘405’ 時

解決 405 錯誤 – 一般方法

405 錯誤經常和 POST 方法同時出現。 您可能在您的網站上嘗試引入某種輸入表格,但並非所有的網際網路服務供應商 (ISPs) 都 允許處理該表格所需的 POST 方法。

所有 405 錯誤都可以追綜到 Web 伺服器設定和控制訪問網站內容的安全管理,因此您的 ISP 應該很容易地予以解釋。

解決 405 錯誤 – CheckUpDown

這個錯誤應該永遠不會發生在您的 CheckUpDown 帳戶上。 如果出現了, 則通常表明我方系統或是管理您網站的 Web 伺服器系統在程式設計上有缺陷。 我們只使用 GET 方法,所有 Web 伺服器都應允許(否則, 任何人無論如何都不能看到您的網站) 。

只要您遇到 405 錯誤,就請與我們聯絡(最好通過電子郵件) - 您自己無法解決此類錯誤。我們必須和您的 ISP 及 Web 伺服器軟體供應商聯絡,以確認產生該錯誤的確切原因。