HTTP报错401和403详解及解决办法
一、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.csdn.net/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"。
HTTP报错401和403详解及解决办法的更多相关文章
- 服务器TIME_WAIT和CLOSE_WAIT详解和解决办法
转载的服务器TIME_WAIT和CLOSE_WAIT详解和解决办法
- jenkins编辑报错Exception when publishing, exception message的解决办法
jenkins编辑报错Exception when publishing, exception message的解决办法 查看目标主机的磁盘空间是否占满,清理磁盘空间即可
- 第一次打开pycharm运行python文件报错”No Python interpreter selected“问题的解决办法
前面没有细讲,这里细述一下安装pycharm后,第一次打开pycharm运行python文件报错"No Python interpreter selected"问题的解决办法. 出 ...
- 项目报错:/uploads: Read-only file system(解决办法)
项目报错:/uploads: Read-only file system(解决办法) 本来以为是service层没加注解,翻到最后才发现问题 原因是项目根目录没有对应的文件夹,在项目根目录创建uplo ...
- git push上传代码到gitlab上,报错401或403
之前部署的gitlab代码托管平台,采用ssh方式连接gitlab,在客户机上产生公钥上传到gitlab的SSH-Keys里,则git clone下载和git push上传都没问题,这种方式很安全. ...
- linux安装oracle 报错[INS-20802] Oracle Net Configuration Assistant failed 解决办法
[INS-20802] Oracle Net Configuration Assistant failed 首先从LinuxIDC.com下载这个补丁包,然后用 unzip p8670579_1120 ...
- Dubbo广播模式下报错:Can't assign requested address解决办法
原因: 尝试使用Dubbo的multicast模式,发现一运行就报Can't assign requested address的错误,造成这种原因的主要是系统中开启了IPV6协议(比如window7) ...
- 关于javaweb项目红叉报错可但项目可以正常运行的解决办法
有时候导入的项目工程,文件夹左下角永远有一个红叉,但是由于不影响程序运行,所以之前一直忽略了,但是强迫症患者表示不解决巨蓝瘦,网上有些方法没有讲清楚,所以今天做了个总结来教大家如何详细解 ...
- 推送GitHub报错 fatal: Out of memory, malloc failed 解决办法
现象: 推送GitHub时,出现如下报错 fatal: Out of memory, malloc failed (tried to allocate XXXXXX bytes)error: fail ...
随机推荐
- SpringBoot打包成war
关于SpringBoot打成jar包以及jar包如何在Linux持久运行,我在前面已经说过了,所以本次不再赘述. 关于SpringBoot打包成war,其实步骤特别简单,如下图所示(如果是jar,通常 ...
- IDEA+循环语句 or 输出语句 快捷操作
IDEA+循环语句 or 输出语句 快捷操作:https://blog.csdn.net/shijiebei2009/article/details/44726433 for循环:仅输入fori然后回 ...
- OpenMP并行程序设计——for循环并行化详解
在C/C++中使用OpenMP优化代码方便又简单,代码中需要并行处理的往往是一些比较耗时的for循环,所以重点介绍一下OpenMP中for循环的应用.个人感觉只要掌握了文中讲的这些就足够了,如果想要学 ...
- RabbitMQ学习笔记一:本地Windows环境安装RabbitMQ Server
一:安装RabbitMQ需要先安装Erlang语言开发包,百度网盘地址:http://pan.baidu.com/s/1jH8S2u6.直接下载地址:http://erlang.org/downloa ...
- Photoshop合成雪景天使美女照片
一.新建一个800 * 426的文件,打开人物素材把不要的东西删除掉,因为白雪景色很白,就直接涂上白色就可以了,然后把人像移动到我要的角度. 二.对人物图层按Ctrl + M 调整曲线,参数设置如下图 ...
- Zookeeper 客户端命令
- JAVA多线程-实现通讯
一.多线程之间如何实现通讯 1)什么是多线程之间通讯 多线程之间通讯,其实就是多个线程在操作同一个资源,但是操作的动作不同. 2)如何通讯 wait().notify().notifyAll()是三个 ...
- Python——Flask框架——电子邮件
一.框架(Flask-Mail) 安装 : pip install flask-mail 二.SMTP服务器的配置 配置 默认值 说明 MAIL_SERVER locallhost 电子邮件服务器的主 ...
- Lodop条形码竖条和值右端不对齐的解决方法
当Lodop条形码设置的宽度比较短,数值比较多的时候,会出现条码的竖条和右端不对齐.个人测试了一下,发现解决办法有三种:1.增加条形码的宽度.2.隐藏条码本身的值,用text文本代替.3.修改条形码下 ...
- codeforces721C
Journey CodeForces - 721C Recently Irina arrived to one of the most famous cities of Berland — the B ...