2011-02-04 5 views
1

JSON 서버 측 (C#)을 압축하고 클라이언트 측 JSON으로 다시 구성하는 유틸리티는 누구나 알고 있습니다. 내 전체 페이지 뷰 모델은 json에 있으며 크기를 줄이는 방법을 찾아야합니다. cJSON과 RISON을 찾았지만 C# 구현이 표시되지 않습니다.JSON, 클라이언트 및 서버 측에서 압축

아이디어가 있으십니까?

설명 : 서버 측에서 JSON 문자열을 가져 와서 크기를 줄이기 위해 인코딩/압축 된 클라이언트 측 변수를 등록해야합니다. 클라이언트 측에서는 JavaScript에서 해독/압축 해제를 호출 할 수있는 유틸리티가 필요합니다. 또한 역순으로 필요합니다.

참조 링크 :

cJson http://stevehanov.ca/blog/index.php?id=104

Rison

+0

성능 향상을 위해이 작업을 수행하고 있습니까? (다른 모든 사람들이 브라우저 및 서버를 설정하여 [대부분의 경우 즉시 사용할 수 있음] 전선을 통한 트래픽을 압축한다고 말했기 때문에)? 보안을 위해 (사람들이 귀하의 데이터/API를 볼 수 없습니까?) 두 가지 질문. – Sean

답변

4

은 왜 HTTP 압축을 사용하고 브라우저/웹 서버가 요청의 압축을 처리 할 수?

+2

. gzip 인코딩은 .NET뿐만 아니라 모든 브라우저에 내장되어 있습니다. 그걸 써. –

+0

초과 된 공백을 제거하는 것이 좋습니다 (줄 바꿈, 탭 등, 읽기 전용으로 만 존재합니다). 클라이언트 측에서 압축을 풀기 위해 별도의 작업을 수행 할 필요는 없지만 gzipping 중이라도 응답의 크기에 큰 영향을 미칩니다. –

+1

@Mike : 압축은 서버 수준에서 수행 되었습니까? 나는 그것을 통제 할 수 없다. 둘째, 비록 내가 가지고 있었다고해도, 뷰 소스를 볼 때 외형에 관한 것이 많습니다. 압축하고 인코딩해야합니다. – epitka

1

나는 Llyod의 대답을 두 번째로 줄 것이며 클라이언트 측 압축 해제 오버 헤드를 고려하지 않는다고 덧붙입니다.

Deflate와 gzip은 브라우저가 원시 코드에서 압축 해제를 처리하기 때문에 크게 유용합니다. 사용자 정의 JSON 압축 구성표를 구현하는 경우 자바 스크립트를 사용하여 압축을 풀어야하는데, 상당히 느려질 것입니다. 웹 작업자 (즉, IE 버전 없음)를 지원하는 브라우저에서이 작업을 수행하는 경우가 아니면 실제로 실행 가능하지 않습니다. 어느 쪽이든, 자바 스크립트 기반 압축 해제는 압축이 저장하는 것보다 더 많은 대기 시간을 추가합니다.

관련 문제