programing

XML 사이트 맵에 대해 어떤 Content-Type 값을 보내야 합니까?

bestprogram 2023. 10. 29. 19:54

XML 사이트 맵에 대해 어떤 Content-Type 값을 보내야 합니까?

"text/xml"을 보내야 한다고 생각했는데, "application/xml"을 보내야 한다고 읽었습니다.그게 중요한가요?누가 차이점을 설명해 줄 수 있습니까?

text/xmlapplication/xml 차이charset 매개변수가 생략된 경우 기본 문자 인코딩입니다.

문자/xml과 application/xml은 charset 매개변수가 명시적으로 지정되지 않은 경우 다르게 동작합니다.텍스트/xml의 기본 문자 집합(예: US-ASCII)이 어떤 이유로 불편한 경우(예: 불량 웹 서버), application/xml은 대안을 제공합니다(섹션 3.2의 application/xml 등록의 "Optional parameters" 참조).

텍스트/xml의 경우:

[RFC2046]에 따라 문자/xml 엔티티가 charset 매개변수가 생략된 상태로 수신되는 경우, MIME 프로세서 및 XML 프로세서는 기본 charset 값인 "us-ascii"를 사용해야 합니다[ASCII].XML MIME 엔티티가 HTTP를 통해 전송되는 경우 기본 charset 값은 여전히 "us-ascii"입니다.

application/xml의 경우:

charset 매개변수가 생략된 application/xml 엔티티가 수신되면 MIME Content-Type 헤더에 의해 charset에 대한 정보가 제공되지 않습니다.적합한 XML 프로세서는 이러한 비상 상황을 직접적으로 다루는 [XML]의 섹션 4.3.3의 요건을 따라야 합니다.그러나 XML 프로세서가 아닌 MIME 프로세서는 응용 프로그램/xml 엔티티에서 charset 매개 변수가 누락된 경우 기본 charset을 가정하지 않아야 합니다.

따라서 charset 매개변수가 생략된 경우, 텍스트/xml의 문자 인코딩은 US-ASCII인 반면 application/xml의 경우에는 문서 자체에서 문자 인코딩을 지정할 수 있습니다.

이제 인터넷의 경험칙은 "출력에는 엄격하지만 입력에는 관대하라"입니다.즉, 인터넷을 통해 데이터를 전달할 때는 가능한 한 기준을 충족해야 합니다.그러나 인터넷을 통해 데이터를 수신하고 해석할 때 오류를 간과하거나 추측할 수 있는 메커니즘을 구축해야 합니다.

따라서 사용자의 경우 두 가지 유형 중 하나만 선택하고(애플리케이션/xml 권장) 사용한 문자 인코딩을 제대로 지정해야 합니다(각 기본 문자 인코딩을 사용하여 안전하게 재생할 것을 권장하므로, 애플리케이션/xml의 경우 UTF-8 또는 UTF-16을 사용하십시오).

경험의 원칙으로 문서를 모든 웹 서버, 프록시 및 클라이언트 브라우저에서 올바르게 처리할 수 있는 가장 안전한 방법은 다음과 같습니다.

  1. application/xml 컨텐츠 유형 사용
  2. 내용 유형에 문자 인코딩 포함(아마도 UTF-8)
  3. XML 문서 자체의 인코딩 특성에 일치하는 문자 인코딩을 포함합니다.

일부 브라우저가 제대로 구현하지 못하는 RFC 3023 규격의 경우, 다음과 같이 클라이언트가 문자 인코딩을 처리해야 하는 방식이 콘텐츠 유형의 가장 큰 차이점입니다.

application/xml, application/xml-dtd, application/xml-external-parse-entity 또는 application/atom+xml, application/rss+xml 또는 application/rdf+xml과 같은 application/xml 하위 유형 중 하나의 경우 문자 인코딩은 다음 순서로 결정됩니다.

  1. Content-Type HTTP 헤더의 charset 매개변수에 주어진 인코딩
  2. 문서 내 XML 선언의 인코딩 속성에 주어진 인코딩,
  3. UTF-8

text/xml, text/xml-external-parse-entity 또는 text/foo+xml과 같은 하위 유형의 경우 문서 내 XML 선언의 인코딩 속성은 무시되며, 문자 인코딩은 다음과 같습니다.

  1. Content-Type HTTP 헤더의 charset 매개변수에 주어진 인코딩 또는
  2. 우리 ascii 말입니다.

대부분의 구문 분석기는 규격을 구현하지 않으며, HTTP Context-Type을 무시하고 문서의 인코딩만 사용합니다.잘못된 문서들이 너무 많이 나와 있기 때문에, 그것은 곧 바뀔 것입니다.

둘 다 괜찮습니다.

text/xxx는 프로그램이 xxx를 이해하지 못할 경우 사용자에게 파일을 일반 텍스트로 보여주는 것이 합리적이라는 것을 의미합니다. application/xxx는 파일을 보여주는 것이 무의미하다는 것을 의미합니다.

이러한 내용 유형은 나중에 웹 환경에서 사용되기 전에 전자 메일 첨부 파일용으로 정의되었습니다.

text/xml은 추가 처리 없이 텍스트로 표시되는 경우 인간에게 의미 있는 문서를 위한 것이며 application/xml은 다른 모든 것을 위한 것입니다.

모든 XML 엔티티는 수정 없이 응용프로그램/xml 미디어 유형과 함께 사용하기에 적합합니다.그러나 이것은 XML이 일반 텍스트로 취급될 수 있다는 사실을 이용하지 않습니다.응용프로그램/xml에 대한 명시적인 지원이 없는 MIME 사용자 에이전트(및 웹 사용자 에이전트)는 예를 들어 파일에 저장할 수 있도록 제공하여 응용프로그램/옥텟 스트림으로 처리합니다.

기본적으로 XML 엔티티를 일반 텍스트로 처리해야 함을 나타내려면 text/xml 미디어 유형을 사용합니다.이것은 XML 엔티티에서 사용되는 인코딩을 [RFC-2045] 및 [RFC-2046]에 설명된 텍스트 미디어 유형에 대한 요구 사항과 호환되는 인코딩(예: UTF-8)으로 제한하지만 UTF-16(HTTP 제외)은 제한하지 않습니다.

http://www.ietf.org/rfc/rfc2376.txt

여기에 있는 다른 답변들은 무엇이 적절한지에 대한 일반적인 질문을 다루고 있습니다.Content-TypeXML 응답의 경우 다음과 같이 결론을 내립니다(웹 서비스 응답의 경우 텍스트/xml과 응용 프로그램/xml의 차이점은 무엇입니까?).text/xml그리고.application/xml허용될 수 있습니다.그러나 사이트 에 특정한 규칙이 있는지 여부는 다루지 않습니다.

정답: 없습니다.사이트맵 사양은 https://www.sitemaps.org 이며 구글을 사용하고 있습니다.site:검색에는 mime, mimype, content-type, application/xml 또는 text/xml이라는 단어나 구문이 포함되어 있지 않음을 확인할 수 있습니다.다시 말해서, 그것은 무엇에 대한 주제에 대해 완전히 침묵하고 있습니다.Content-Type사이트 맵을 제공하는 데 사용해야 합니다.

이 질문을 직접적으로 다루는 사이트맵 사양에 해설이 없는 경우, 우리는 안전하게 다음을 선택할 때와 동일한 규칙이 적용된다고 가정할 수 있습니다.Content-Type다른 XML 문서의 - 즉 둘 중 하나일 수 있습니다.text/xml아니면application/xml.

언급URL : https://stackoverflow.com/questions/3272534/what-content-type-value-should-i-send-for-my-xml-sitemap