2012-08-25 4 views
1

고객을 위해 Tomcat 6으로 애플리케이션을 마이그레이션하고 있습니다. 테스트 중 클라이언트 중 일부가 에 대한 응답을 청크 화 (전송 인코딩 : 청크)해야합니다. 그러나 Tomcat은 항상 청크 인코딩을 사용하지 않고 때때로 Content-Length를 사용하기도합니다. 응답 크기가 커서 헤더를 전송할 때 전체 길이를 알 수있을만큼 작기 때문에 가정합니다.톰캣 응답에서 청크 인코딩을 강제로 수행합니다.

청크 인코딩을 비활성화하는 방법에 대한 많은 질문과 답변을 보았지만 그 반대의 문제가 있습니다. 모든 응답마다 청크 인코딩이 이상적이지 않으며 클라이언트가 http1.1 사양과 완벽하게 호환되고 어느 쪽 인코딩이라도 받아 들여야한다고 생각합니다. 그러나 쉬운 구성이 있는지 확인하려고합니다. 원하는 동작을 가능하게 할 수 있습니다.

Tomcat 만 사용하고 표준 http 커넥터를 사용하고 있습니다. 커넥터 속성을 살펴본 결과, bufferSize와 socketBuffer를 가지고 놀았습니다.

청크 응답을 강제로 수행 할 수있는 방법이 있습니까?

답변

2

누군가 다른 사람이이 문제에 부딪혔을 때를 대비해 해킹 해결책을 찾았습니다. 내가 출력하기 전에 출력 스트림을 즉시 플러시합니다. 이를 통해 Tomcat은 즉시 응답 헤더를 보내고 청크 분할 인코딩을 사용합니다. 나는 그것이 내가 처리를하기 전에 즉시 200 개의 상태 코드를 보내는 것을 의미하기 때문에 절름발이라는 것을 알고 있지만 그것은 청크 인코딩을 강제 할 수있는 유일한 방법입니다.

관련 문제