브라우저가 자동으로 gzip으로 데이터를 인코딩합니까? 짧은 대답은 ...
HAAHAHAAahahahahahhaha입니다.
긴 대답은 일부 사용자 에이전트는 다음과 같은 일을 할 수 있다는 것입니다,하지만 당신은 확실히에 의존 할 수 없다. 아파치 mod_deflate 문서 상태 :
일부 특수 애플리케이션은 실제로 일부 WebDAV 클라이언트와 같은 요청 압축을 실제로 지원합니다.
아니, 그게 효과가 없을거야. 직접 적절한 HTTP 요청 메시지를 생성해야합니다. 이 경우 적절한 헤더는 이고 Content-Type:
이 아니므로 콘텐츠 자체가 application/json
이므로 전송을 위해 HTTP 요청 메시지의 엔티티 본문을 인코딩하려고합니다.
압축 후 메시지 엔터티 본문의 크기 (바이트)를 지정하는 적절한 Content-Length:
헤더를 추가해야합니다 (또는 Transfer-Encoding: chunked
을 사용하여 HTTP 메시지를 보내고 콘텐츠 길이 지정을 지켜야 함). 수신 측에
, 당신
은
instruct mod_deflate
to use an input filter는 정보를 압축 할 수 있습니다 : 당신은 단지 자원의 몇 메시지 본문을 압축 수신하는 경우
<Location /dav-area>
SetInputFilter DEFLATE
</Location>
이것은 손으로 약간 무거운 편이다. 대신에 클라이언트 측 스크립트를 사용하여 Content-Encoding: gzip
헤더를 확인하고 요청 본문의 압축을 수동으로 풀어야합니다. PHP에서이 작업을 수행하는 방법은 완전히 다른 질문입니다. 자세한 내용이 필요하면 다른 질문을 올리십시오.
JSON 텍스트의 작은 버스트를 보내는 경우 데이터 압축에 필요한 처리 오버 헤드가 전송 크기 이점보다 클 것이라고 덧붙입니다. 요청에서 이진 파일을 스트리밍하는 것에 대해 이야기하는 경우 다른 이야기입니다. 하지만 JSON의 경우? 아마 너의 시간 가치가 없어. – rdlowrey
나는 그것을 할 수 없을 정도로 많은 것을 알았다. 그러나 나는 여하튼 물었다. JSON 필드 중 하나를 압축하고 응용 프로그램에서 압축을 푸는 버전이 있습니다 (Sinatra). 나는 이것이 내 상황을 위해 최선의 방법이라고 생각한다. 해당 필드의 정보는 알맞은 크기이므로 압축이 유용합니다. 고마워요 –
"HAAHAHAAahahahahahhaha." 매우 압축 적입니다. –