什麼是 HTTP 401 錯誤以及如何修復它? [7種方法]
已發表: 2023-06-05什麼是 401 錯誤?
正確的 401 錯誤含義是一個 HTTP 狀態代碼,指示請求缺少所請求資源的有效身份驗證憑據。 這意味著服務器知道客戶端,但客戶端沒有足夠的權限訪問資源,並且在沒有適當身份驗證的情況下無權這樣做。
如果您是 Web 開發人員、管理員或普通用戶,了解 401 錯誤的重要性至關重要,因為它可以幫助您診斷和解決與身份驗證和訪問控制相關的問題。
例如,如果您是管理員,它將幫助您實施有效的安全措施。 同時,對於普通用戶來說,了解某些資源被拒絕訪問的原因將有利於他們。
401 錯誤變化
以下是一些 401 錯誤變體,它們表示相同的情況:
- HTTP 錯誤 401
- 拒絕訪問
- 401 未授權錯誤
- 401 需要授權
- 401未經授權
了解 HTTP 狀態碼
如果您不是技術人員並且不確切知道什麼是 HTTP 狀態代碼,則可以將它們理解為一組標準化的三位數字,Web 服務器使用這些數字來傳達客戶端請求的結果。
這意味著它們會為您提供有關成功重定向、錯誤類型和請求-響應週期的其他狀態的狀態或信息。
這些狀態代碼在 Web 通信中起著至關重要的作用,因為它們提供重要的反饋,指示請求是成功還是遇到任何問題。 在這些代碼的幫助下,人們可以很容易地根據從服務器收到的響應採取適當的行動。
現在,在討論 4xx 系列狀態代碼時,例如 401 錯誤,它們通常被歸類為客戶端錯誤代碼。 該系列表示客戶端的請求因某些原因失敗或無效。 這些錯誤代碼通常表示由客戶端請求或缺少適當身份驗證引起的問題或錯誤。
4xx 系列錯誤代碼的一些示例
正如我們已經討論過的,4xx 系列稱為客戶端錯誤,其中包括一些您可能熟悉的流行錯誤代碼。
- 400(錯誤請求錯誤)
- 403(禁止)
- 404(未找到)
現在,讓我們關注 401 錯誤。 當客戶端無法提供有效的身份驗證憑據來訪問資源時,專門使用此錯誤。 它的主要目的是向客戶端表明所請求的資源需要有效的憑據才能繼續進行。
是什麼導致 401 錯誤?
您可能會遇到 401 錯誤消息的一些最常見情況:
- 缺少或無效的憑據:如果您由於任何原因無法提供真實的憑據或提供已發生或過期的憑據,將觸發 401 錯誤。
- 未經授權的訪問嘗試:當您嘗試訪問需要身份驗證的資源,但提供的憑據未授予足夠的權限時,將返回 401 錯誤。
- 已撤銷或過期的令牌:如果您使用過期或過時的身份驗證令牌,服務器可能會響應 401 錯誤。
- 損壞或過時的瀏覽器緩存和 cookie:如果您看到 401 錯誤,通常是因為您的瀏覽器緩存和 cookie 已過時或損壞。 這可能會導致授權出現問題。 如果您的瀏覽器沒有正確的身份驗證憑據(或根本沒有),服務器將不會接受您的請求。 請記住使瀏覽器的緩存和 cookie 保持最新,以避免遇到此類錯誤。
- Incorrect or Outdated URL : 有時,在匆忙中,您可能會錯誤地輸入錯誤的 URL 或遇到 URL 被更改的情況。 結果可能會觸發 401 錯誤。
- 插件衝突:有時,由於插件問題,可能會發生 401 錯誤。 例如,如果您使用的防火牆或安全插件可能會錯誤地認為您的登錄嘗試是可疑的,並以 401 錯誤阻止訪問以確保頁面安全。
401 錯誤如何影響用戶體驗?
401 錯誤代碼會對用戶體驗產生各種影響。 它通常會導致用戶被拒絕訪問所請求的資源或收到錯誤頁面。 與 401 錯誤關聯的錯誤消息應提供有關如何解決問題或提供適當說明的指導。
如何修復 401 未經授權的錯誤?
現在您已經對 401 未授權錯誤及其背景有了充分的了解,讓我們深入研究解決和修復此問題的方法。
- 確保網址正確
- 檢查真實憑證
- 清除瀏覽器緩存和 cookie
- 刷新你的 DNS 緩存
- 禁用 WordPress 插件
- 檢查您網站的 .htaccess 文件
- 檢查 WWW-Authenticate 標頭
1.確保網址正確
許多用戶最常犯的錯誤之一是在瀏覽器的地址欄中鍵入錯誤的 URL。 因此,請務必花點時間仔細輸入正確的 URL,確保沒有拼寫錯誤或過時的條目。
如果您碰巧輸入了錯誤、過時或拼寫錯誤的 URL,您可能會遇到“錯誤代碼 401”消息。 但是沒有必要擔心! 此錯誤僅表示您嘗試訪問的 URL 不存在,從而導致服務器響應“401 未授權訪問”。
讓我們通過一個例子來理解它,假設您已經為一個頁面添加了書籤或將其地址保存在您的瀏覽器中,但是事情會隨著時間而改變。 該頁面的地址可能已更新甚至刪除。
要進一步調查,您可以嘗試轉到該網站的主頁並查找指嚮導致“未經授權的 401”錯誤的頁面的鏈接。 如果頁面通過該鏈接正確打開,請確保將頁面的 URL 與最初給您錯誤的頁面的 URL 進行比較。
2.確保正確的身份驗證憑據
有時,當您嘗試訪問鎖定的資源(例如受密碼保護的頁面)時,您可能會遇到令人沮喪的 401 錯誤代碼。 這基本上意味著您的身份驗證憑據無效,因此,您無法訪問您嘗試打開的頁面。
以下是您可以採取的措施來解決此問題。 花點時間仔細檢查您是否使用正確的登錄憑據(例如用戶 ID 和密碼)登錄。
如果您確信自己輸入的詳細信息正確無誤,則可能需要考慮更改密碼。 這有助於確保您擁有正確的憑據來訪問資源而不會出現任何問題。
但是,如果您無法訪問受密碼保護的網站,請查看我們關於“如何輕鬆重置 WordPress 並重新開始?”的完整指南。
3. 清除瀏覽器緩存和 cookie
毫無疑問,瀏覽器緩存和 cookie 旨在通過加快網站加載來增強您的在線體驗。 但是,有時它們也可能是觸發錯誤的罪魁禍首。
具體來說,損壞或過時的緩存文件和 cookie 可能會導致意外中斷或瀏覽問題。 要解決此問題,最好的做法是完全清除瀏覽器的緩存和 cookie。
如果您使用的是 Chrome 瀏覽器,請按照以下步驟操作:
閱讀:瀏覽器市場份額和使用統計
第 1 步:根據您的瀏覽器,轉到設置菜單。
例如,在 Google Chrome 中,您可以通過單擊位於窗口右上角的三個垂直點來找到設置菜單。
第 2 步:要繼續,請選擇“更多工具”,然後單擊“清除瀏覽數據”。
第 3 步:將顯示一個彈出窗口,您可以選擇位於“基本”部分下的所有三個選項,如下圖所示。 這些選項包括“瀏覽歷史”、“Cookie 和其他站點數據”以及“緩存的圖像和文件”。
第 4 步:單擊“清除數據”以啟動該過程。
通過這樣做,您瀏覽器本地存儲的任何損壞或無效信息將被完全刪除。 這確保如果它導致身份驗證問題,它不會再次發生。
4. 刷新你的 DNS 緩存
與您的瀏覽器緩存和 cookie 類似,DNS 緩存也存儲在您本地的計算機上。 儘管 DNS 緩存觸發 401 錯誤的情況並不常見,但作為故障排除步驟值得一試。
對於 Windows 10 和 Windows 11 用戶:
步驟 1:按 Windows 鍵和 R 打開“運行”命令。或者,您可以在“開始”菜單中搜索它。
第 2 步:鍵入“ cmd ”並按 Enter 鍵打開命令提示符。
第 3 步:打開命令提示符窗口後,鍵入“ ipconfig/release ”以釋放您當前的 IP 地址。
第 4 步:接下來,鍵入“ ipconfig/flushdns ”以釋放 DNS 緩存。
第 5 步:鍵入“ ipconfig /renew ”以獲取新的 IP 地址。
第 6 步:鍵入“ netsh int ip set dns ”並按 Enter 鍵重置您的 IP 設置。
第七步:最後,輸入“ netsh winsock reset ”來恢復Winsock Catalog。
步驟 8:完成這些步驟後,重新啟動計算機以確保更改生效。
對於 MacOS 用戶:
第 1 步:首先,打開 Mac 上的系統偏好設置選項。 如果您安裝了 Gas Mask,它可以更輕鬆地搜索與系統相關的任務。
第 2 步:接下來,導航至以太網選項卡並單擊高級選項。
第 3 步:在 TCP/IP 選項卡下,您會找到釋放 DHCP 租約的選項。 單擊此選項將允許您清除 Mac 上的本地 DNS。
第 4 步:轉到 Utilities > Terminal 並輸入命令以清除本地 DNS 緩存。
第 5 步:刷新本地 DNS 緩存的命令是“ dscacheutil -flushcach e”。
第 6 步:輸入命令後,將不會彈出單獨的成功或失敗消息。 但是,在大多數情況下,緩存將被清除而不會出現任何重大問題。
5. 禁用 WordPress 插件
請務必注意,401 錯誤的原因可能並不總是與您的瀏覽器有關,而與您的 WordPress 插件有關。 如果您在訪問 WordPress 網站時遇到困難,則可能是某些插件導致了此問題。
特別是,安全插件以導致此類問題而聞名。 這些插件旨在阻止訪問並在檢測到任何可疑活動時返回 401 錯誤消息。
另一種可能性是某些插件可能存在兼容性問題。 某些插件可能會與您的網站發生衝突並引發此類問題。 在這種情況下,最好的做法是禁用所有已安裝的 WordPress 插件並檢查是否可以解決問題。
第 1 步:登錄到您的 WordPress 管理儀表板
第 2 步:導航到儀表板左側的“插件”菜單選項。
第 3 步:將顯示已安裝插件的列表。 記下當前活動的插件或根據需要製作一個列表。
第 4 步:通過勾選插件名稱旁邊的複選框來選擇所有插件,或者使用“批量操作”下拉菜單選擇全部。
第 5 步:從“批量操作”下拉菜單中選擇“停用”,然後單擊“應用”按鈕。 這將同時停用所有選定的插件。
第 6 步:停用過程完成後,嘗試訪問您的網站並檢查 401 錯誤是否已解決。
如果錯誤不再出現,則表示一個或多個插件導致了問題。 然後,您可以通過一個一個地重新激活並在每次激活後測試網站,直到錯誤再次出現,來繼續識別衝突或不兼容的插件。 這樣,您就可以查明導致衝突的特定插件。
如果您發現有缺陷的插件,請考慮將其更新到較新的版本或聯繫插件開發人員以獲得支持。 或者,您可能需要找到一個具有類似目的但不會引起衝突的替代插件。
6. 檢查您網站的 .htaccess 文件
您可能會驚訝地發現,託管面板並不是唯一可以為您的網站設置密碼的地方,尤其是在您沒有意識到的情況下。 另一種方法是在 .htaccess 文件中配置代碼。
如果您之前通過 .htaccess 文件設置了密碼但忘記了它或者它是通過插件添加的,則必須檢查或檢查您網站的 .htaccess 文件以確定它是否導致問題。
讓我們看看您如何繼續。
如果您的網絡託管服務提供商為您提供 cPanel 可訪問性,那麼您無需使用 FTP 客戶端即可輕鬆找到 WordPress .htaccess 文件。
1. 為此,首先,您需要登錄到您的 cPanel,如下所示:
2. 查看“文件”部分並單擊“文件管理器”選項,如圖所示。
3. 現在您將能夠在屏幕上看到所有核心文件的列表。 選擇並單擊 public_html 文件夾以將其打開。
4. 現在,如果您有可用的現有 .htacess 文件,它將反映在public_html 或 htdocs文件夾中,如果沒有,則它被隱藏或尚不存在。
但是,如果您的 WordPress . htaccess 文件是隱藏的,您可以通過簡單地轉到位於“文件管理器窗口”右上角的“設置”部分來取消隱藏它,如下圖所示:
將彈出一個首選項窗口,如下圖所示:
現在只需選中“顯示隱藏文件(點文件)”框並單擊“保存”。 所有隱藏文件將開始反映在您的文件管理器窗口中。
閱讀: WordPress .htaccess 文件:如何創建和編輯它?
現在,當您右鍵單擊 .htaccess 文件並選擇編輯選項時,其內容應類似於以下內容:
AuthType Basic
AuthName "Permission required"
AuthUserFile ../../.htpasswd
require valid-user
用於保護的登錄憑據存儲在名為“.htpasswd”的文件中。 該文件包含加密密碼和關聯的用戶名。
如果您不再需要保護,您可以從.htaccess 文件中刪除相應的代碼並保存更改以確認。
7. 檢查 WWW-Authenticate 標頭
如果上述故障排除方法不起作用,則說明問題出在服務器端。
“WWW-Authenticate”標頭是一個 HTTP 響應標頭,用於指示訪問 Web 服務器上的資源所需的身份驗證類型。 當服務器發送“401 Unauthorized”狀態代碼時,它包含“WWW-Authenticate”標頭以指定客戶端需要使用的身份驗證方案才能訪問所請求的資源。
此標頭向客戶端提供有關應使用的身份驗證方法的信息,例如基本身份驗證或摘要式身份驗證。 它通常包括一個質詢,這是客戶端需要在後續請求中包含的一個值,以對自己進行身份驗證。
要檢查“WWW-Authenticate”標頭,您可以按照以下步驟操作:
第 1 步:打開您的 Web 瀏覽器並導航到生成 401 錯誤代碼的所需網頁。
第 2 步:右鍵單擊頁面上的任意位置,然後從上下文菜單中選擇“檢查”或“檢查元素”。 這將打開瀏覽器的開發人員工具。
第 3 步:在開發人員工具中,導航到“網絡”選項卡。
第四步:按“F5”鍵或點擊瀏覽器的刷新按鈕刷新頁面。
Step 5 : 在網絡請求列表中查找你要查看的資源對應的請求。 它應該有一個“401 Unauthorized”狀態碼。
第 6 步:單擊請求以查看其詳細信息。
第 7 步:在標頭部分,找到“WWW-Authenticate”標頭。 此標頭將提供有關訪問資源所需的身份驗證方案的信息。
第 8 步:“WWW-Authenticate”標頭的值將指示要使用的身份驗證方法,例如“Basic”、“Digest”或其他。
您還可以參考 HTTP 身份驗證方案註冊表以獲取有關頁面身份驗證方法的更多信息。
比較:401 與 403 錯誤
401 錯誤通過特別關注缺乏有效的身份驗證憑據而與眾不同。 它表明客戶端需要提供適當的身份驗證才能訪問資源,而 400 和 403 錯誤則突出了其他問題,例如請求無效或權限不足。
這是 401 錯誤和 403 錯誤之間的比較表:
錯誤代碼 | 錯誤名稱 | 含義或認證信息 |
---|---|---|
401 | 未經授權 | 表示需要認證。 |
客戶端缺少有效憑據 |
錯誤代碼 | 錯誤名稱 | 認證信息的含義。 |
---|---|---|
403 | 禁止 | 表示客戶端已通過身份驗證,但缺少訪問所請求資源的必要權限 |
總之,401 錯誤表示需要進行身份驗證,而 403 錯誤表示客戶端已通過身份驗證但缺少訪問所請求資源的必要權限。
401 錯誤的真實示例
來自流行網站或 Web 應用程序的示例
- 社交媒體平台:如果用戶在未登錄或未提供有效憑據的情況下嘗試訪問私人資料或受限內容,則可能會返回 401 錯誤。
- 原因:用戶試圖在未登錄或未提供有效憑據的情況下查看私人帖子。
- 解決方案:平台返回 401 錯誤並提示用戶登錄或創建帳戶以訪問受限內容。
- 網上銀行:當客戶試圖在未經適當身份驗證的情況下訪問帳戶信息或執行金融交易時,可能會發生 401 錯誤。
- 原因:用戶在未提供正確的身份驗證憑據的情況下嘗試訪問帳戶詳細信息或執行金融交易。
- 解決方案:銀行系統返回 401 錯誤並指示用戶輸入有效的登錄憑據以安全地訪問他們的帳戶。
通過分析 401 錯誤的真實示例,很明顯這些錯誤發生在訪問敏感或受限資源時,強調了正確身份驗證和授權的重要性。
結論
當客戶端缺少或無法提供有效的身份驗證憑據來訪問受密碼保護的資源時,將觸發“401 錯誤”。 此外,您可能已經註意到此錯誤主要是由客戶端引起的,因此很容易修復。 但是,它也可以從服務器端觸發,儘管這種情況很少見。
因此,在這篇文章中,我們匯總了一些您可以嘗試修復 401 錯誤的 7 種最佳故障排除方法。
- 確保網址正確
- 檢查真實憑證
- 清除瀏覽器緩存和 cookie
- 刷新你的 DNS 緩存
- 禁用 WordPress 插件
- 檢查您網站的 .htaccess 文件
- 檢查 WWW-Authenticate 標頭
我們希望上述方法能幫助您修復 401 錯誤並解決您的問題。 如果您有任何疑問或想建議任何其他方法,請在下面的評論部分告訴我們。
經常問的問題
如何修復 401 錯誤?
您可以通過以下方法修復 401 錯誤:
1.確保網址正確
2.檢查真實憑證
3. 清除瀏覽器緩存和 cookie
4. 刷新你的 DNS 緩存
5. 禁用 WordPress 插件
6. 檢查您網站的 .htaccess 文件
7. 檢查 WWW-Authenticate 標頭
401未授權錯誤的原因是什麼?
401未經授權錯誤的原因是:
1. 憑據缺失或無效
2.未經授權的訪問嘗試
3. 被撤銷或過期的代幣
4. 損壞或過時的瀏覽器緩存和 cookie
5. 不正確或過時的 URL
6.插件衝突
401 錯誤的示例是什麼?
401 錯誤的一個示例是如果用戶在未登錄或未提供有效憑據的情況下嘗試訪問社交媒體平台上的私人資料或受限內容,則可能會返回 401 錯誤。