ASP.Net MVC 용 Telerik UI를 사용하고 있는데 내 모델을 CSV 텍스트로 변환하고 Kendo 그리드에 바인드하면 데이터를 전송하는 동안 JSON보다 더 가벼워 질 수 있습니다. 클라이언트에게.Kendo 격자를 CSV 텍스트로 바인딩
답변
나는 귀하의 우려를 이해하고 있으며 실제로 프로젝트에 동일한 작업을 수행하여 JSON의 추가 바이트를 클라이언트로 다시 보내려고 최적화하려고합니다. 이 같은
켜기 일이 속으로
{
status: true,
data: [
{ name: 'aaa', lastName: 'ln1', identifier: 124343 },
{ name: 'bbb', lastName: 'ln2', identifier: 887875 },
{ name: 'ccc', lastName: 'ln3', identifier: 445455 }
]
}
는 :
{
s: 1,
d: [
{ n: 'aaa', l: 'ln1', i: 124343 },
{ n: 'bbb', l: 'ln2', i: 887875 },
{ n: 'ccc', l: 'ln3', i: 445455 }
]
}
는 내가 JSON 메시지를 조정하고 내 클라이언트 코드 (: 오버 헤드 번역)을 조정하여 부끄러운 10 %의 절감 효과를 얻었다. "gzip을, 폐의 수락 - 인코딩"을을 어떻게 든 내 서버가 완전히이 무시 된
내 HTTP 트래픽의 몇 가지 분석 후 나는 어떤 점잖은 브라우저의 요청 헤더가
을 포함 GZIP 압축 브라우저에 의해 지원되었다 실현 그 이유는 응답 헤더가 "Content-Encoding : gzip"입니다. 요청 및 응답 헤더를 확인하여 확인할 수 있습니다 (그림 참조).
그래서 클라이언트가 지원하는 경우 GZIP 압축과 컨텐츠를 인코딩하기 위해 서버를 강제 한 후, 네트워크 비용 절감 크기의 80 %로 떨어졌다.
GZIP 압축은 다음과 같습니다 - 빠른 서버 에 - 클라이언트 에 쉬운 - 당신은 그것을 활성화 여부 위치를 선택할 수 있습니다 (의 당신이 그 항목의 큰 금액을 반환합니다 알고 반응에 사용을 가정 해 봅시다) - 반복적 인 텍스트 내용의 이점 (사전 접근법을 사용함)
JSON이 어떻게 보이는지 걱정하지 마시고 GZIP을 사용하겠습니다. 나중에 모든 오버 헤드 코드를 되돌려 야했습니다.
GZIP이 373KB가 된 후에 null이 아닌 실제 크기가 2MB 인 7000 행이있는 웹 로그 테이블에 지금 접속하려고합니다 !!!!! 가장 좋은 점은 GZIP 스트림을 모든 컨텐츠와 함께 사용할 수 있으며 텍스트 데이터에서 더 효율적이라는 것입니다. 조언 해 주셔서 감사합니다.) –
모든 것을 CSV로 변환하고 브라우저에서 구문 분석하는 오버 헤드로 인해 기존 인프라를 사용하고 JSON으로 모든 것을 전송하는 것보다 큰 이점이 없습니다. CSV가 JSON보다 우수하다는 것을 뒷받침하는 사실과 수치가 있습니까? –
CSV 포맷터를 구현하고이를 JSON 대신 사용하는 것이 과장 될 수는 있지만 실제로 CSV 텍스트는 json보다 가볍습니다. 실제 데이터 만 포함하기 때문에 크기의 30 % 이상을 절약 할 수 있습니다. 어떤 값에 대한 정의 나 주석이없이 첫 번째 행은 각 값에 대한 정의를 포함하는 Json과 달리 테이블 헤더를 포함합니다. –