HTTP 405 錯誤 – 方法不被允許 (Method not allowed)

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 服務器沒有被設置爲從客戶端接受輸入數據而出現。 另外, 如果客戶端對請求中指明的具體網址資源沒有足夠的權力, 該錯誤也會出現。

也就是說,在IIS中,html頁post數據到另一個html頁都會出現405 method not allowed,

如果A頁面通過表單(form)向B頁面傳遞參數,而B頁面是以“.htm or .html ”爲擴展名的話,通過IIS解析會出現“HTTP 錯誤 405 -禁止訪問資源”錯誤的提示。原因是靜態的文件無法通過IIS解析傳遞數據。
解決辦法: 把接受參數的文件的擴展名修改爲“.asp”:只在用FrontPage打開文件,並另存爲asp類型,然後再重新鏈接,OK

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章