什么是 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 错误。