programing

텍스트/보통보다 어플리케이션/json을 사용하는 장점이 있습니까?

topblog 2023. 3. 9. 21:44
반응형

텍스트/보통보다 어플리케이션/json을 사용하는 장점이 있습니까?

타입을 됩니까?application/json을 통해 text/plain

스프링과 할 수 것을 있지만 으로 이 에 스프링을 사용해야 있는 을 알 수 있습니다.application/json에 걸쳐서text/plainJSON の j j j 。

예:

xhr.setRequestHeader("Content-type","text/plain");
// or
xhr.setRequestHeader("Content-type","application/json");
xhr.send(JSON.stringify({"foo": "bar"}));

포맷 타입의 「MIME」를 에 비해 text/plain를 사용하여 된 데이터를 를 사용하여 구조화된 데이터를 전달합니다.

퍼포먼스는 다른 컴포넌트(예:

  • 콘텐츠를 포맷으로 인코딩하는 데 걸린 상대적 시간
  • 원본 콘텐츠를 제공하기 위해 형식을 디코딩하는 데 걸린 상대적 시간 및
  • 인코딩된 콘텐츠의 상대적 크기.

이론상으로는 최적의 설계와 구현이 가능한 가상의 커스텀 포맷은 JSON보다 느리거나 밀도가 낮다고 할 수 있습니다(「증명」은 명백합니다).최적의 JSON 구현을 선택하고 성능에 영향을 주지 않는 형식을 약간 변경합니다.)

그러나 실제로는 실제 형식과 실제 구현의 성능을 비교해야 합니다.따라서 퍼포먼스는 포맷과 관련된 부호화/복호화 소프트웨어의 설계 및 구현에 얼마나 적합한지에 따라 달라집니다.또, JSON 의 실장 방법에 의해서도 다릅니다.퍼포먼스 특성이 다른 서버측 JSON 라이브러리가 다수 존재하며, 데이터 구조에서 "네이티브"로 데이터를 매핑하는 방법도 다릅니다.

이를 통해 사용자 지정 형식보다 JSON(및 XML)의 실질적인 이점을 얻을 수 있습니다.

  • JSON 및 XML에서는 콘텐츠 인코딩 및 디코딩을 지원하기 위해 선택한 모든 메인스트림 언어에 사용할 수 있는 라이브러리를 사용할 수 있습니다.커스텀 포맷에서는, 클라이언트측과 서버측의 독자적인 인코딩/디코딩을 실시할 필요가 있습니다.

  • JSON 및 XML에서는 다른 사용자가 인코더/디코더를 구현할 수 있는 올바른 형식이 무엇인지 나타내는 표준이 있습니다.커스텀 포맷의 경우 다른 사용자가 포맷을 구현할 수 있도록 하려면 사용자가 직접 사양을 작성해야 합니다.

  • JSON 및 XML은 데이터에 나타나는 문자 집합 인코딩 및 "메타" 문자와 같은 문제를 처리하는 표준 방법을 가지고 있습니다.습관대로라면, 이러한 문제를 스스로 이해하고 대처해야 합니다(그리고 그렇지 않으면 트랙을 따라가는 데 어려움을 겪을 수 있습니다).

  • 변경의 용이성.JSON/XML 기반 포맷을 발전시키는 것은 비교적 간단한 문제입니다.그러나 커스텀 포맷을 사용하면 (적어도) 더 많은 작업을 해야 하며, 설계에 따라서는 매우 어려울 수 있습니다.

대부분의 애플리케이션에서 이러한 문제는 성능보다 훨씬 중요합니다.그렇기 때문에 JSON 또는 XML이 널리 사용되고 있습니다.

따르다

그러나 내가 커스텀 구현을 사용하지 않는다고 가정하고 MIME 타입의 텍스트/플레인에서 JSON을 보내는 것과 MIME 타입의 어플리케이션/json의 전송을 비교한다면?

그 결과, 퍼포먼스에는 거의 차이가 없습니다.

  • mime 유형 문자열이 짧기 때문에 HTTP 요청 또는 응답 헤더에 6바이트를 저장합니다.단, 크기가 수천 바이트로 측정되는 일반적인 HTTP 메시지에서는 이 값은 중요하지 않습니다.
  • "텍스트/일반" 콘텐츠 유형을 사용해도 요청 또는 응답 메시지를 인코딩/디코딩하는 데 필요한 작업에는 차이가 없습니다. 단, 6개의 추가 바이트를 비교/복사하는 데 걸리는 시간은 측정하기에 너무 작을 수 있습니다.

또한 부정확한 MIME 유형을 사용하는 것은 HTTP 사양에 위배됩니다.이렇게 하면:

  • 수신자가 응답을 잘못 처리할 가능성이 높아집니다.예를 들어, 디코딩에 실패하거나 브라우저 창에 표시할 수 있습니다.

  • 클라이언트 또는 서버가 HTTP 콘텐츠유형 네고시에이션을 사용하고 있는 경우, HTTP 콘텐츠유형 네고시에이션을 중단할 수 있습니다.

요컨대, 나는 이것을 해야1 할 좋은 이유가 생각나지 않는다. 그리고 그것을 하지 말아야 할 몇 가지 좋은 이유가 생각나지 않는다.


1 - 일반적으로분명히, 가장자리 케이스가 있을 거야...

JSon은 기본적으로 일반 텍스트 형식입니다.따라서 최상의 일반 텍스트 형식보다 빠를 수 없습니다.(잘못 선택된 일반 텍스트 형식보다 빠를 수 있음) JSon이 사용되는 이유는 인코딩과 복호화가 용이하고 많은 유형의 데이터(특히 복잡한 데이터)에 대해 상당히 사람이 읽을 수 있기 때문입니다.

현재 사용하고 있는 대체품을 찾고 계신다면 보내드리는 데이터에 대한 자세한 내용을 알려주시면 대안을 제안해 드리겠습니다.

JSON은 xml과 함께 널리 받아들여지는 형식이 될 것입니다.JSON의 인지도는 급속히 증가하고 있기 때문에, 장래를 염두에 두고, 텍스트보다 스마트한 선택을 할 수 있습니다.

json.org의 설명(LOL)은 다음과 같습니다.

JSON: XML의 무지방 대안

여기에는 거의 모든 언어를 지원하는 Json 라이브러리가 있습니다.

http://www.json.org/

Json은 Jquery http://api.jquery.com/jQuery.getJSON/을 매우 쉽게 사용할 수 있습니다.

Json에 대해 찾은 최고의 텍스트 중 하나는 http://ascherconsulting.com/what/are/the/advantages/of/using/json/입니다.

JSON은 JavaScript 응용 프로그램과 주고받는 데이터를 직렬화 및 직렬화 해제하기 위해 설계되었기 때문에 JSON을 사용하는 장점은 다른 직렬화 방법보다 JSON의 장점과 관련이 있습니다.현재 응용 프로그램 간에 데이터를 주고받는 가장 잘 알려진 방법은 XML입니다. 그러나 XML은 다소 번거로운 직렬화 수단입니다.우선, 송신자는, 수신자가 이해하는 문서 타입의 정의에 근거해 시리얼화할 데이터를 부호화할 필요가 있습니다.이렇게 하면 어떤 DTD를 사용하든 실제 데이터 주위에 많은 추가 패딩이 생성됩니다.따라서 XML 문서의 크기는 XML 문서에 포함된 실제 값 집합에 비해 상당히 큰 경우가 많습니다.둘째, 수신자는 XML 스트림을 수신하고 데이터를 디코딩하여 데이터를 메모리에 저장해야 합니다.이것에 비해, JSON 의 구조는 표준 프로그래밍 데이터 타입의 구조를 반영해, 부호화 기구는 데이터의 구조나 가치를 나타내기 위해서 필요한 최소한의 문자수만을 부가하기 때문에, 송신자에 의한 데이터의 시리얼화는 비교적 빠르고 콤팩트하다.수신자가 JSON 시리얼화 데이터를 수신하면 자바스크립트의 내장 평가 함수 또는 다른 언어로 된 호환 함수를 사용하여 문자열 텍스트를 평가하기만 하면 됩니다.또 다른 표준 비교는 YAML입니다.이것은 DTD에 의존하지 않고 복잡한 데이터 세트를 시리얼화할 수 있기 때문에 XML보다 읽기 및 쓰기에 더 간단한 파서가 필요합니다.단, 단순화된 YAML 파서라도 일반적으로는 JSON보다 더 많은 시간이 필요하고 더 큰 시리얼화된 데이터 스트림을 생성합니다.

JSON은 JSON 엔진에 대한 주요 최적화(C코드)로 인해 속도가 빨라질 것입니다.예를 들어 V8의 JSON.parse()는 매우 빠릅니다.

JSon 포맷된 문자열은 유사한 javascript Object 선언이므로 보다 단순하고 빠르게 구문 분석할 수 있습니다.

JSon 문자열: {name:value name2:value}

javascript Object로 변환하기 매우 쉽습니다.

언급URL : https://stackoverflow.com/questions/4350753/advantages-of-using-application-json-over-text-plain

반응형