为了账号安全,请及时绑定邮箱和手机立即绑定

第一次遇见405报错,顺便看了看http协议

标签:
运维

最近在写项目的时候遇到了405报错,第一次遇见这个报错,所以对这个错误不是很理解,于是上网查了查,得到了个模糊的答案,比如:GET请求发给了POST的接口,或者POST请求发送给了GET接口。但是我还是不理解,我的报错是为什么产生的。所以本着先解决问题的想法,我先进行了代码的排查,既然是请求,我就对接口开始下断点,发送请求,进入断点,一步步调试,然而页面还是报错,代码上没有任何错误,该获取的值还是获取了,也没有错误。这时候我开始对前端的POST请求进行注释,从源头开始排查,注释掉了AJAX的部分,点击提交时,竟然出现了405,也就是说和该POST请求无关,这个时候,我就想到了,是不是前端的form表达帮我提交了一次,于是跳转到前端HTML页面上,发现button上有个type="submit"类型,而这个按钮放在了表单里,我删除了该按钮进行测试,发现不报错了,于是问题得到了解决。

回过头来,我对405进行了解读,下面看看非RFC的解释:

https://img1.sycdn.imooc.com//5d9144690001f39c05380565.jpg

方法不被允许。请求行中接收的方法是服务器识别的,但目标资源不支持。

这里解释的很详细了,然而RFC文档里解释的就更简单了

10.4.6 405 Method Not Allowed
The method specified in the Request-Line is not allowed for the resource identified by the Request-URI.
 The response MUST include an Allow header containing a list of valid methods for the requested resource.

可以说是疏忽导致的这个错误,还好很快找到了解决办法,没有耽误太多的时间。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
30
获赞与收藏
154

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消