如何修復錯誤 400 錯誤請求

您可能已經註意到所有網站在加載失敗時如何顯示錯誤代碼。這可能是一個以 4 開頭的三位數。4xx 狀態代碼是與損壞或無效的客戶端請求相關的故障,包括丟失的頁面或已移動到新域的頁面。

但是對於400 Bad Request 錯誤代碼,問題出在你這邊。 400 Bad Request 錯誤足以成為用戶的眼中釘。幸運的是,有一些方法可以理解或解決這個問題。繼續閱讀以了解代碼的含義以及如何補救。

400 Bad Request 含義

在我們進入 400 Bad Request 的解決方案之前,你應該明白它是什麼。當服務器無法或拒絕處理請求時,會出現 400 Bad Request。服務器已確定客戶端的請求在語法或消息框架中存在錯誤。

但是,對於這個錯誤,您得到它的原因並不總是那麼簡單。有時,這實際上不是客戶端的錯,而是服務器的錯。因此,總是將問題歸咎於客戶端是不公平的。

以下是用戶收到 400 Bad Request 錯誤的一些潛在原因。

上傳大文件

Web 服務器或應用程序可能有明確的文件上傳大小限制。實施此限制是為了防止許多同時想要上傳大文件的用戶阻塞帶寬。因此,嘗試上傳特別大的文件或文件夾有時會導致錯誤 400。

欺騙性請求路由

一些服務器被編程為檢測自定義 HTTP 標頭當收到請求時。這些標頭可能已過時、錯誤或完全缺失。在某些情況下,它們甚至可能無法處理。

這種保護並非毫無用處,因為它可以檢測中間人攻擊。如果網站檢測到來自兩個不同 IP 地址的相同令牌,則會發生這些情況。在這種情況下,它通常會向客戶端發送欺騙性請求路由警告。

由於互聯網可能是一個危險的地方,因此網站採用此類安全措施至關重要。沒有網站所有者希望他們的服務器受到攻擊。

Cookie 過期或無效

雖然 Cookie 有可能過期或無效,但通常是事故的結果多於襲擊。瀏覽器可能會嘗試使用舊 cookie 來識別您的身份。例如,您可能正在嘗試訪問一段時間未訪問過的管理區域。

該網站可能使用了過時的 cookie。如果網站檢測到您的請求,如果您的連接包含錯誤信息,您可能會收到 400 Bad Request Error。

損壞的瀏覽器緩存也會發生同樣的情況。瀏覽器緩存存儲文件,以便用戶更快地登錄網站。但是,如果文件損壞或舊,網站可能會向您發送錯誤。

URL 問題

輸入 URL 是最直接的訪問方式網站及其服務器。但是,如果 URL 字符串有問題,您可能會收到 400 Bad Request 錯誤。輸入錯誤的 URL 是導致此問題的常見原因。

其他原因是 URL 語法格式錯誤或 URL 包含非法字符。當某些部分沒有正確編寫時,就會出現語法錯誤。服務器不理解該請求並告訴您它無法處理它。

同時,非法字符是 URL 中未使用的符號。由於這些符號與請求不兼容,服務器會通知您。在網站可以執行您的請求之前,您需要刪除不可用的字符。

服務器錯誤

雖然 400 Bad Request 錯誤確實通常從在客戶端,有時服務器會遇到錯誤。因此,它無法處理客戶端請求。以下是一些潛在的原因:

故障一般問題未指定的臨時問題

用戶可以嘗試多次重新加載網站或使用其他設備。如果沒有任何效果,他們應該聯繫網站所有者並詳細解釋發生了什麼。

400 Bad Request Nginx

Nginx 是服務器的開源軟件所有者可以用來創建服務器。它被設計為快速,但也被用作反向代理或負載平衡器。換句話說,Nginx 是一個功能強大的應用程序,可以一次接受許多連接而不會失敗。

如果您有一個 Nginx 服務器並收到來自客戶端的關於 400 Bad Request 的消息,這很可能是因為他們有一個大標題。 Nginx 對傳入的 cookie 有大小限制,如果您看到該錯誤代碼,則客戶端的標頭已超過該限制。

幸運的是,解決方案很簡單:增加限制,以便可以刪除 400 Bad Request 錯誤.

登錄到您的 Nginx 服務器並找到錯誤站點。
輸入“large_client_header_buffers 4 16k;”
執行命令。
重新加載服務器。

您可以將“16K”中的 16 替換為更大的數字,例如 64K,這通常會允許更大的標頭通過。此修復解決了許多 Nginx 400 Bad Request 錯誤實例。

400 Bad Request Chrome

如果您在 Google Chrome 上收到 400 Bad Request 錯誤,可能是過時 cookie 的標誌。要刪除這些,您必須清除您的 Chrome 緩存。緩存包含已保存的數據,以幫助您在下次訪問時更快地加載網頁。

由於緩存是舊數據的保留器,因此存儲在緩存中的 cookie 和文件在存儲的那一刻就有些過時了那裡。雖然 Chrome 會不斷為緩存收集新數據,但如果您不定期登錄網站,它就無法這樣做。

因此,清除緩存可以讓 Chrome 獲取新信息並發送請求網站可以接受。 400 Bad Request 錯誤將消失。清除緩存:

點擊右上角的三點。
選擇“清除瀏覽數據”。
檢查名為“緩存”的選項”、“Cookie”和“歷史記錄”。
選擇一個時間範圍。
點擊“清除數據”。
文件刪除後,請嘗試重新登錄網頁。

有時,清除緩存後重新啟動計算機有助於刪除更多文件。但是,有時需要清除調製解調器的緩存。您可以將其關閉並再次打開以查看。

刷新 DNS

如果要進行更深入的清理,還應清除 DNS 緩存過程。它可以幫助服務器更輕鬆地驗證您。

打開 Google Chrome。
在搜索欄中粘貼“chrome://net-internals/#dns”。
按回車.
點擊“清除主機緩存”。
將搜索欄中的“#dns”替換為“#sockets”,然後按 Enter。
選擇“關閉空閒套接字”並單擊“刷新套接字池”。

關閉 Chrome 並查看錯誤是否仍然存在。您需要執行另一個流程來刷新計算機上的 DNS。

打開搜索欄。
鍵入“cmd”並右鍵單擊命令提示符。
以管理員身份運行命令提示符。
輸入“ipconfig/flushdns”並回車執行。

徹底刷新 DNS 後,錯誤應該會消失.您不必在此處執行每個 DNS 清除過程,而是在 400 Bad Request 錯誤消失後停止。

禁用擴展

Google Chrome 的擴展提供瀏覽器沒有的額外功能。這些擴展已下載並安裝,但它們有時會干擾您的瀏覽器並導致錯誤。您可以嘗試關閉它們並檢查錯誤是否仍然存在。

在您的計算機上打開 Chrome。
點擊三個點。
選擇“更多工具。”
選擇“擴展”。
關閉列表中的擴展。

禁用這些附加組件後,錯誤可能會消失。如果不是,您可以假設這可能是服務器端問題。

400 Bad Request Cookie Too Large

雖然服務器主機可以修改 cookie大小限制,如果用戶收到 400 Cookie 太大錯誤,則應將其刪除。清除舊數據後,網站應該可以讓您通過。

每個瀏覽器都有不同的方式讓用戶刪除 cookie。我們已經提到了 Chrome 用戶如何做到這一點。

Microsoft Edge 是一個小例外。它沒有僅刪除 cookie 的選項,因此您必須刪除整個瀏覽歷史記錄和緩存才能發生這種情況。

其他應用程序可能沒有這些限制,因此您應該尋找歷史記錄部分並檢查是否有刪除 cookie 和緩存的方法。

如果問題仍然存在,您還可以聯繫服務器主機,讓他們知道。他們可以更改設置並消除錯誤原因。

400 錯誤請求修復

除了增加文件大小限制和更改允許的 cookie 大小外,還有是防止 400 Bad Request 錯誤發生的其他方法。

消除無效的 HTTP 標頭

HTTP 標頭可能包含非法字符或格式錯誤。在其他情況下,字符丟失。您需要分析您的服務器發送的內容,看看它們是否存在問題。

如果答案是肯定的,那麼是時候刪除任何有問題的部分或替換丟失的標頭了。它應該可以幫助客戶獲得訪問權限而不會遇到問題。

調試代碼

可以調試您的應用程序以查找代碼中的錯誤。您可以手動滾動日誌或使用軟件來梳理應用程序。調試器將運行代碼並比人類更快地發現錯誤。

Access Granted

託管網站及其服務器並不總是那麼容易,並且有永遠是犯錯的機會。雖然客戶端可以解決 400 Bad Request 錯誤,但主機應始終準備好檢查以確保其代碼正常工作。這樣做可以讓每個人都可以輕鬆訪問該站點。

對於此問題還有哪些其他解決方案?你做了什麼使錯誤消失?請在下面的評論部分告訴我們。

免責聲明:本網站的某些頁面可能包含附屬鏈接。這不會以任何方式影響我們的社論。

發送給某人

丟失設備

Categories: IT Info