如何在Apache CXF Rest服务中获取请求和响应大小(以字节为单位),以便将其记录在指标db中? “content-length”不是一个选项,在我的邮件上找不到这样的标题。 我需要原始大小,足够接近我可以通过WireShark获取,例如,当我进行我的http会话的tcp转储。
答案 0 :(得分:0)
请参阅链接中的4.4消息长度:http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html
Content-Length Vs Transfer-Encoding和HTTP / 1.0 Vs HTTP / 1.1
了解HTTP标头&运输。
w.r.t。请求消息,Content-Length由客户端传输设置。因此,请求者决定是否设置Content-Length。
w.r.t响应消息,通常基于部署了cxf-rs端点的服务器。 Tomcat默认发送Content-Length。即使您可以手动设置响应标头的Content-Length,如下所示:
public Response getData(){
地址数据=新地址(“伦敦”,“英国”); //域模型
//地址有两个属性City和Country of type string
返回Response.ok()。entity(data).type(“application / json”)。header(HttpHeaders.CONTENT_LENGTH,data.toString())。build();
}