Tomcat服务器response header 200 OK问题

记录一个刚踩的坑

因为公司用某的某厂商的设备,该设备发送http请求之后要求response header中
返回 HTTP/1.1 200 OK ,众所周知,status code 200表示连接成功 ,而OK 是reasonPhrase。
而我用的是tomcat 8.5/9.0版本,只有个HTTP/1.1 200 没有OK,然后厂商那边也是坑爹,有个200还不满足,字符串判断非要有 200 OK ,人家嵌入式的 代码又不像咱们这个随时改,只能我这边研究研究了。
网上查看几个回复,说用httpResponse.setStatus(200,”OK”)就可以,经实测,方法已经deprecated且不生效
但是同一个帖子下的回复有提到修改server.xml,增加 sendreasonPhrase=”true”的,经过测试,tomcat8.0/8.5/9.0都生效,看了下apache官网,截图如下:
默认为false,且生成tomcat9会移除

经过本人 亲测即便是tomcat 9.0.10修改后也是会发送200 OK的,跟官网介绍相矛盾,特此记录,如果哪位老兄以后也碰上200还不OK的奇葩要求,可以避免踩坑,之前上stackoverflow看了,一群老外也没研究出来,只说是apache觉得reasonPhrase没卵用还浪费byte就在8.5去掉了这个功能。

补充一下,这个属性加在Connector上

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值