Как я могу получить размеры запросов и ответов в байтах в службе Apache CXF Rest, чтобы зарегистрировать их в базе данных показателей? «длина содержимого» не вариант, не могу найти такой заголовок в своих сообщениях. Мне нужен необработанный размер, достаточно близкий к тому, который я могу получить с помощью WireShark, например, когда я делаю дамп tcp своего http-сеанса.
Размеры запросов и ответов Apache CXF RS
- Кажется, что вопрос связан не с CXF, а с подчиненным сервлетом и контейнером сервлетов. Нашел ответ здесь stackoverflow.com/questions/1836760/ 18.02.2014
Ответы:
См. 4.4 Длина сообщения по ссылке: http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html
Content-Length против Transfer-Encoding и HTTP/1.0 против HTTP/1.1
Чтобы понять заголовки и транспорт HTTP.
w.r.t. Сообщение запроса, Content-Length устанавливается транспортом на стороне клиента. Таким образом, решение о том, устанавливать Content-Length или нет, зависит от запрашивающей стороны.
ответное сообщение w.r.t, обычно основанное на сервере, на котором развернута конечная точка cxf-rs. Tomcat отправляет Content-Length по умолчанию. Даже вы можете вручную установить Content-Length для заголовка ответа, как показано ниже:
публичный ответ getData () {
Адресные данные = новый адрес ("Лондон", "Великобритания"); //модель домена
//Адрес имеет два свойства City и Country типа string return Response.ok().entity(data).type("application/json").header(HttpHeaders.CONTENT_LENGTH, data.toString( )).строить();}