Jersey를 사용하는 Java 응용 프로그램에서 gzip
ed multipart POST
을 Tomcat 서버로 보내려고합니다. 멀티 파트 요청이 압축되지 않으면 완벽하게 작동합니다. 압축 된 POSTS의 다른 유형은 단일 엔터티 XML을 보내는 것과 같이 잘 작동합니다. 압축 된 데이터를 게시하는 것은 HTTP 표준이 아니지만 Tomcat이 어느 정도 지원하는 것으로 보입니다.멀티 파트 메시지로 HTTP gzip 인코딩
작업 압축되지 않은 멀티 게시물 :
POST /myApp/rest/data HTTP/1.1
Content-Type: multipart/mixed; boundary=Boundary_1_23237284_1331130438482
Cookie: JSESSIONID=XXXXXXXXXXXXXXXXXXXXXXXXX;Version=1;Path=/myApp/
MIME-Version: 1.0
User-Agent: Java/1.6.0_26
Host: localhost:8080
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Transfer-Encoding: chunked
d3
--Boundary_1_23237284_1331130438482
Content-Type: application/octet-stream
Content-Disposition: form-data; filename="uploadFile.war"; modification-date="Wed, 29 Feb 2012 18:01:38 GMT"; size=25343899; name="file"
{binary data here}
--Boundary_1_25179713_1331128929019
Content-Type: application/xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><myXMLEntity>stuff</myXMLEntity>
--Boundary_1_25179713_1331128929019--
나는 다음과 같은 헤더가 전송되는 저지 GZIPContentEncodingFilter()
를 사용하여 압축, 나는 "잘못된 구문"
POST /myApp/rest/data HTTP/1.1
Content-Type: multipart/mixed
Cookie: JSESSIONID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;Version=1;Path=/myApp/
Accept-Encoding: gzip
Content-Encoding: gzip
User-Agent: Java/1.6.0_26
Host: localhost:8080
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Transfer-Encoding: chunked
{binary data here}
에 대한 설명과 함께 다시는 HTTP (400)를 얻을 때
내가 할 수있는 일이 가능합니까? Content-Type
은 실제로 multipart/x-gzip
을 읽어야합니까? 압축되면 테두리 텍스트가 Content-Type
헤더에서 벗어났습니다.이 또한 문제입니까?