首页 > 游戏心得 >  > 

400badrequest原因 bad request翻译中文

大家好我是小栢,400badrequest原因,关于bad request翻译中文很多人还不知道,那么现在让我们一起来看看吧!

1、在web开发中, HTTP 400 Bad Request 是一种常见但却难以定位的问题, 通常是因为请求没有遵循 HTTP 标准. 原因看起来很直观, 但是在定位此类问题时, 往往需要花费极大的精力. 有以下几个难点:在本片文章中, 会分享实际生产环境下的真实事例. 并且对Tomcat中所有400的情况给出了实际例子, 方便以后更直观的判断请求是否有问题.本文基于 tomcat-embed-core-9.0.29详见下一篇博文由于对LB进行升级, 将流量从旧的LB切换到新的LB之后, 某些客户端的所有响应都变成了 400 BAD REQUEST.客户端发送的请求头示例 "APPLICATION-VERSION : 519", 冒号前的空格即为非法字符.Tomcat调用逻辑如下. 在parseHeader()方法中, 会使用isToken()方法检查请求头中是否有非法字符#serv: parseHeaders and catch IllegalArgumentExceptionorg.apache.coyote.11.Http11InputBuffer#parseHeader: 检验请求头并在skipLine()中抛出llegalArgumentException. IS_TOKEN 是一个用来存储非法字符的位图, 非法字符包含 ' ' ',' '(' ')' '' 等#skipLine: 抛出异常这里总结了所有tomcat-embed-core-9.0.29中会返回HTTP 400 Bad Request的情况, 并给出了样例.以下例子均为HTTP报文格式, case 0 是一个可以正确返回200的请求, 后续的例子是在case 0 的基础上进行改变, 改变的部分会以橙色标出, 导致400的关键字会以红色标出, 便于直观的发现问题.200 Sample200 Sampleorg.apache.coyote.AbstractProcessor#line 302400 Sampleorg.apache.coyote.AbstractProcessor#line 337Illegal characters logic: org.apache.tomcat.util..parser.HttpParser.DomainParseState#next400 Sampleorg.apache.coyote.AbstractProcessor#line 982No exampleorg.apache.coyote.11.Http11Processor#line 311Character set: org.apache.tomcat.util..parser.HttpParser#IS_TOKEN400 Sample for illegal character400 Sample for blankorg.apache.coyote.11.Http11Processor#line 609400 Sampleorg.apache.coyote.11.Http11Processor#line 612400 Sampleorg.apache.coyote.11.Http11Processor#line 660Character set: org.apache.tomcat.util..parser.HttpParser#IS_USERINFO400 Sampleorg.apache.coyote.11.Http11Processor#line 686400 Sample9. Start line中协议名称非法org.apache.coyote.11.Http11Processor#line 705400 Sampleorg.apache.coyote.11.Http11Processor#line 713Character set: org.apache.tomcat.util..parser.HttpParser#IS_ABSOLUTEPATH_RELAXED400 Sampleorg.apache.coyote.11.Http11Processor#line 739400 Sample12. 请求头中含有多个Content-Lengthorg.apache.coyote.11.Http11Processor#line 741400 Sample。

本文到这结束,希望上面文章对大家有所帮助。

版权声明:本文内容由互联网用户自发贡献。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 836084111@qq.com,本站将立刻删除。