2014-11-16 3 views
0

저는 간단한 MVC 모델을 가지고 있습니다. PHP로 처리 할 데이터를 보내고 데이터베이스 레코드를 JSON으로 가져 오는 Ajax 요청을 수행하고 있습니다. 이 오브젝트가 매우 클 수 있었다, 나는이/압축은 PHP (서버 측)에 암호화 및 자바 스크립트 측에 암호를 해독 할 수있는 몇 가지 방법 (클라이언트)가PHP에서 JSON 응답을 압축하십시오.

$.ajax({ 
    url: "/php/function/link/", 
    dataType: 'json', 
    data: { 
      "date": date, 
      }, 
    type: "POST", 
    success: function(_data){ 
       // load encrypted data here and decrypt it. 
      }, 
    error: function() { 
     alert("Some error fetching!"); 

    } 

나는 다음과 같은 방법을 사용하여 시도하지만, 그들은 (자바 스크립트 끝을 압축 해제하는 동안이 오류가 발생했다) 작동하지 않았다

  1. JSONC
  2. https://stackoverflow.com/a/11901649/1443702

다른 더 좋은 방법이 있습니까? 간단히 말해서 :

클라이언트에서 전달되는 자바 스크립트의 데이터 압축 - 서버로 보내면 (PHP) - 압축을 풀고 데이터베이스 쿼리를 계산 -> 압축 -> 자바 스크립트 (클라이언트 측) -> 압축을 풉니 다.

답변

0

가장 좋은 방법은 웹 서버에서 HTTP 트래픽 압축을 사용하는 것입니다. 최신의 모든 브라우저와 서버가이를 지원합니다. HTTP_compression에 대해 자세히 알아보십시오. 추가 보너스가 있습니다 : 모든 트래픽은 AJAX 트래픽이 아닌 압축됩니다.

0

PHP를위한 - 당신이 시도 할 수 있습니다 : 자바 스크립트를 http://rosettacode.org/wiki/LZW_compression#PHP

-http://rosettacode.org/wiki/LZW_compression#JavaScript

가 이상적으로 당신이 사용 사례가 불가피한 경우를 제외하고 큰 데이터 세트를 전송하지 않도록해야합니다. 나는 당신이 당신의 디자인을 재고 할 것을 제안 할 것이다. 하지만 최근에는 JavaScript로 5MB의 JSON 데이터 (부분적으로)를 압축해야하는 제품 요구 사항의 일부로 유사한 유스 케이스가있었습니다. 나는 위의 시도하고 50 % 압축을 달성 할 수있었습니다.

관련 문제