网站出现“302 Moved Temporarily”该怎么办?

网站出现“302 Moved Temporarily”该怎么办?,第1张

原因在于所连接的页面进行了Redirect。

2.302 Found 类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。注意,在HTTP1.0中对应的状态信息是“Moved Temporatily”,而在HttpServletResponse中相应的常量是SC_MOVED_TEMPORARILY,而不是SC_FOUND。出现该状态代码时,浏览器能够自动访问新的URL,因此它是一个很有用的状态代码。

3.所以,Servlet也提供了一个专用的方法,即sendRedirect。使用response.sendRedirect(url)比使用response.setStatus(response.SC_MOVED_TEMPORARILY)和response.setHeader("Location",url)更好。原因有以下几点:

(1)使得整个网页代码更加简洁

(2)使用sendRedirect,Servlet会自动构造一个包含新链接的页面(用于那些不能自动重定向的老式浏览器)

(3)sendRedirect能够处理相对URL,自动把它们转换成绝对URL。 注意这个状态代码有时候可以和301替换使用。例如,如果浏览器错误地请求http://host/~user(缺少了后面的斜杠),有的服务器返回301,有的则返回302。

4.严格地说,我们只能假定只有当原来的请求是GET时浏览器才会自动重定向。

拓展资料:

出现302错误的原因是由于后端代码写了拦截器Filter,当从网站A访问带有某关键词路径的接口时就会被拦截,因而我将网站A要访问的接口的关键词进行了修改,使其不会被拦截器拦截,就能正常从后端获取数据了。

2.302是http重定向。302 redirect: 302 代表暂时性转移(Temporarily Moved )。

3302转向可能会有URL规范化及网址劫持的问题。可能被搜索引擎判为可疑转向,甚至认为是作弊。

参考资料:302错误_简书科技

1、点击“开始”按钮,点击“控制面板”,点击“程序”——“打开或关闭Windows功能”。

2、返回控制面板,点击“类别”的下拉按钮,选择“大图标”。

3、点击“管理工具”,点击“Internet信息服务(IIS)管理器”,连续点击左边的三角展开图标,右击对应网站,点击“管理网站”,选择“高级设置”。

4、返回网站主页,点击“浏览”,点击“工具”,点击“兼容性设置”,点击“添加”,返回网站主页。

5、点击“应用程序池”,右击对应的网站应用程序池,点击“高级设置”。

6、启用32位程序管理器,点击“确定”即可。

vue项目,axios请求。

首先 ,如果不加以上请求头的话,返回的是302。这个时候在axios里面是报错的,直接走error。且response为undefined的,status为0。如下图(问题:为什么返回到status和接口显示到status code 不一致?)

其次 ,加上请求头设置。

axios

ajax

这个时候返回的是200,且能获取返回的信息。前端应该根据信息去重定向。

原因

X-Requested-With请求头用于在服务器端判断request来自Ajax请求还是传统请求(包括表单提交,a标签 img标签等)。

我的理解是即便不加这个请求头,我们发送的也是ajax请求,但是服务器不知道,所以是服务器强制要求,加上这个会判断为ajax请求。目前我们的项目,是通过单点登录系统做了一层拦截。也就是单纯的后台系统来判断的,如果不加这个请求头,单点登录系统就拦截到,直接给302了。如果加上了,就可以正确访问我们的接口,这个时候才能走到接口里面,拿到正确的返回值。 这里再判断是否登录过,返回不同的值。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/302413.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存