HTTP报错401和403详解及解决办法

本文深入解析了HTTP401未授权错误和403禁止访问错误,详细介绍了这两种状态码的含义、产生原因及解决办法。对于401错误,文章解释了如何通过添加正确的Authorization头部来解决;而对于403错误,则说明了在HTTPS环境下正确配置的重要性。

一、401:

1. HTTP 401 错误 - 未授权: (Unauthorized)

您的Web服务器认为,客户端发送的 HTTP 数据流是正确的,但进入网址 (URL) 资源 , 需要用户身份验证 , 而相关信息 1 )尚未被提供, 或 2 )已提供但没有通过授权测试。这就是通常所知的“ HTTP 基本验证 ”。 需客户端提供的验证请求在 HTTP 协议中被定义为 WWW – 验证标头字段 (WWW-Authenticate header field) 

桌面应用程序一般不会使用cookie, 而是把 "用户名+冒号+密码"用BASE64编码的字符串放在http request 中的header Authorization中发送给服务端, 这种方式叫HTTP基本认证(Basic Authentication)。

2. 原因:

因为request中没有包含Authorization header,服务器会返回一个401 Unauthozied给客户端,并且在Response的header“www-authentivate”中添加信息。当客户端把用户名密码用Base64加密后编码,放在Authorization header中发送给服务器,那么就会认证成功了。

3. 场景及办法:

最近用postman偶然遇见了401的报错,是请求用户的token这个接口的时候,所有的Body请求参数和Headers都一样,但是就是报错401。喊了后端过来看了好久哈哈哈,忘了加Authorization这个请求Header了。解决办法就是,在Headers中添加基本认证的键值对。这个键值对如下:

Authorization:Basic YKKOw9MPlY3JldA==(注意:这里的Base64位编码我随便写的,可以随意看看)

http://blog.youkuaiyun.com/u013136708/article/details/41210897

二、403:

1. HTTP 403 Forbidden - 拒绝访问

403 Forbidden 是HTTP协议中的一个状态码(Status Code)。可以简单的理解为没有权限访问此站。

该状态表示服务器理解了本次请求但是拒绝执行该任务,该请求不该重发给服务器。在HTTP请求的方法不是“HEAD”,并且服务器想让客户端知道为什么没有权限的情况下,服务器应该在返回的信息中描述拒绝的理由。在服务器不想提供任何反馈信息的情况下,服务器可以用404 Not Found代替403 Forbidden。

2.  原因:
You don't have permission to access / on this server.Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

3. 场景及办法:


前几天偶然看到了这个报错403,是当时我们链接地址是https://www.ceshi.com; 但是却被谁谁谁配置成了http://www.ceshi.com;最后就会导致403的报错。解决办法:就是将http改成https。
细看了下:这个错误应该是403.4。403.4错误是由于要求SSL而造成的,您必须在要查看的网页的地址中使用"https"。

在Linux中,HTTP错误401表示未经授权。当客户端向服务器发送请求时,服务器返回401错误,表示客户端没有提供有效的身份验证凭据。这通常发生在需要进行身份验证的情况下,例如访问需要登录的网页或需要访问受限资源的API。 要解决这个问题,客户端需要提供有效的身份验证凭据,例如用户名密码或令牌。客户端可以在HTTP请求的头部中添加Authorization字段,该字段包含身份验证凭据。具体的身份验证方法取决于服务器的配置,常见的方法包括基本身份验证(Basic Authentication)摘要身份验证(Digest Authentication)。 如果客户端提供的身份验证凭据无效或过期,服务器将继续返回401错误。客户端需要根据服务器的响应进行相应的处理,例如重新提示用户输入正确的凭据或重新获取有效的令牌。 总结起来,当在Linux中遇到HTTP错误401时,表示客户端未经授权。客户端需要提供有效的身份验证凭据来解决这个问题。\[1\] #### 引用[.reference_title] - *1* [Linux error函数 ——Linux编程](https://blog.youkuaiyun.com/u011285208/article/details/81103506)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Linux程序调试--Bus Error](https://blog.youkuaiyun.com/weixin_33835122/article/details/116772809)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值