繁体   English   中英

在tomcat的响应头中隐藏状态码

[英]Hide Status Code from response header in tomcat

嗨,我正在使用Rest Service开发Java Web应用程序。 我正在使用apache tomcat服务器。 现在,当我向我的应用发送请求并获得结果时。 然后可以在响应头中看到以下内容:

Status: 200 Ok
Content-Type: application/json
Date: (Whatever date is)
Server: Test
Transfer-Encoding: chunked.

首先,我试图从上述信息中删除服务器标签。 我进行了搜索,最后到达了无法删除的地步。 但是我可以更改服务器名称,所以我做到了。 (将服务器名称重命名为Test)。

现在,我希望状态不显示在响应标题中。 我进行了搜索,但找不到任何方法。 我可以阻止此状态显示吗?

问候

您无法删除“状态标头”,因为它是HTTP的一部分。

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
Header: Value 
etc....

状态直接在响应中。 删除状态没有任何意义。 RFC声明适当的响应包含状态码。

6回应

在接收并解释了请求消息后,服务器将以HTTP响应消息进行响应。

  Response = Status-Line ; Section 6.1 *(( general-header ; Section 4.5 | response-header ; Section 6.2 | entity-header ) CRLF) ; Section 7.1 CRLF [ message-body ] ; Section 7.2 

状态行是:

6.1状态栏

响应消息的第一行是状态行,由协议版本,数字状态码及其
关联的文本短语,每个元素均由SP分隔
字符。 除最后的CRLF序列外,不允许CR或LF。

  Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF 

根据我对RFC的理解,如果您不发送Status-Code ,那么您就不会遵守HTTP RFC,因此就不会“说” HTTP ,即HTTP浏览器正在说的HTTP。

https://www.ietf.org/rfc/rfc2616.txt

如果要向http客户端发送奇怪的响应,则可能需要执行一个自定义套接字程序,该程序将监听端口80并发送所需的任何响应。

这是帮助您在python中构建套接字服务器的资源: https : //docs.python.org/2/library/socketserver.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM