문제

"text/xml"을 보내야 한다고 생각했는데 "application/xml"을 보내야 한다는 내용을 읽었습니다.그게 그렇게 중요한 건가?누군가 차이점을 설명할 수 있나요?

도움이 되었습니까?

해결책

그만큼 사이의 차이 텍스트/xml 그리고 애플리케이션/xml 다음과 같은 경우 기본 문자 인코딩입니다. 문자셋 매개변수가 생략되었습니다.

charset 매개 변수를 명시 적으로 지정하지 않으면 텍스트/xml 및 application/xml이 다르게 행동합니다.텍스트/XML의 기본 charset (예 : US-ASCII)이 어떤 이유로 든 불편한 경우 (예 : 웹 서버) 응용 프로그램/XML은 대안을 제공합니다 (섹션 3.2의 응용 프로그램/XML 등록의 "선택적 매개 변수"참조).

을 위한 텍스트/xml:

rfc2046]에 따라 charset 매개 변수가 생략 된 텍스트/xml 엔티티가 수신되면 MIME 프로세서 및 XML 프로세서는 "uscii"의 기본 숯 값을 사용해야합니다.XML MIME 엔티티가 HTTP를 통해 전송되는 경우, 기본 숯불 값은 여전히 ​​"us-ASCII"입니다.

을 위한 애플리케이션/xml:

charset 매개 변수가 생략되는 곳에 응용 프로그램/xml 엔티티가 수신되면 MIME 컨텐츠 유형 헤더에 의해 숯에 대한 정보가 제공되지 않습니다.XML 프로세서를 준수해야합니다.그러나 XML 프로세서가 아닌 MIME 프로세서는 Application/XML 엔티티에서 charset 매개 변수를 생략 한 경우 기본 숯불을 가정해서는 안됩니다.

그렇다면 만약 문자셋 매개변수가 생략된 경우 문자 인코딩은 텍스트/xml US-ASCII이고 애플리케이션/xml 문자 인코딩은 문서 자체에서 지정할 수 있습니다.

이제 인터넷의 경험 법칙은 다음과 같습니다."출력에 엄격하지만 입력에 견딜 수 있습니다." 즉, 인터넷을 통해 데이터를 전달할 때 가능한 한 표준을 충족시켜야합니다.그러나 인터넷을 통해 데이터를 수신하고 해석할 때 결함을 간과하거나 추측할 수 있는 몇 가지 메커니즘을 구축하세요.

따라서 귀하의 경우 두 가지 유형 중 하나를 선택하십시오. 애플리케이션/xml) 사용된 문자 인코딩을 올바르게 지정했는지 확인하세요(안전한 플레이를 위해 해당 기본 문자 인코딩을 사용하는 것이 좋습니다. 애플리케이션/xml UTF-8 또는 UTF-16을 사용하세요).

다른 팁

엄지 손가락의 규칙으로서, 문서를 모든 웹 서버, 프록시 및 클라이언트 브라우저에서 제대로 처리하기 위해 가장 안전한 내기는 다음과 같습니다.

  1. 응용 프로그램 / XML 콘텐츠 유형
  2. 를 사용하십시오.
  3. 콘텐츠 형식의 문자 인코딩, 아마도 UTF-8
  4. 는 XML 문서 자체의 인코딩 속성에 일치하는 문자 인코딩을 포함합니다.
  5. rfc 3023 rh="noreferrer"> 일부 브라우저가 제대로 구현하지 못한 사양 콘텐츠 유형의 차이는 클라이언트가 문자 인코딩을 처리하는 방법을 다음과 같이 처리하는 방법에 있습니다.

    응용 프로그램 / XML, 응용 프로그램 / XML-DTD, 응용 프로그램 / XML 외부 구문 분야 또는 응용 프로그램 / Atom + XML, Application / RSS + XML 또는 응용 프로그램과 같은 응용 프로그램 / XML의 하위 유형 중 하나의 경우 RDF + XML, 문자 인코딩은이 순서로 결정됩니다.

    1. 콘텐츠 형식 HTTP 헤더의 charset 매개 변수에 주어진 인코딩
    2. 문서 내의 XML 선언의 인코딩 속성에 주어진 인코딩,
    3. UTF-8.
    4. text / xml, text / xml-external-parsed-entity 또는 text / foo + xml와 같은 하위 유형의 경우 문서 내의 XML 선언의 인코딩 속성이 무시되고 문자 인코딩은 다음과 같습니다.

    5. 콘텐츠 형식 HTTP 헤더의 Charset 매개 변수 또는
    6. 에 주어진 인코딩
    7. us-ascii.
    8. 대부분의 파서는 사양을 구현하지 않습니다. 그들은 HTTP 컨텍스트 유형을 무시하고 문서의 인코딩을 사용합니다. 너무 많은 아픈 형태의 서류가 있으므로 곧 변경되지 않을 것입니다.

둘 다 괜찮습니다.

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

해당 콘텐츠 유형은 원래 웹 세계에서 사용되기 전에 전자 메일 첨부 파일에 대해 정의되었습니다.

text/xml은 추가 처리 없이 텍스트로 표시되면 사람에게 의미가 있는 문서를 위한 것이고, application/xml은 다른 모든 것을 위한 것입니다.

모든 XML 엔티티는 애플리케이션/xml 미디어와 함께 사용하기에 적합합니다 를 수정하지 않고 입력합니다.그러나 이것은 다음과 같은 사실을 악용하지 않습니다 XML은 많은 경우 일반 텍스트로 취급될 수 있습니다.MIME 사용자 에이전트 (및 웹 사용자 에이전트)에 대한 명시적인 지원이 없는 경우 응용 프로그램/xml은 응용 프로그램/옥텟 스트림으로 처리합니다 예를 들어 파일에 저장하도록 제안합니다.

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

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

기타 답변은 XML 응답을위한 적절한 Content-Type가 무엇인지에 대한 일반적인 질문을 해결하고 (와 같이) text/xmlapplication/xml가 모두 허용되는 텍스트 / XML vs WebService 응답 의 응용 프로그램 / XML입니다. 그러나 Sitemaps 에 특정한 규칙이 있는지 여부는 없음을 주소합니다.

답변 : 거기에 없습니다. SiteMap Spec은 https://www.sitemaps.org 및 google generacodicicetagcode 검색을 사용하여 확인할 수 있습니다. mime , mimetype , content-type , 응용 프로그램 / XML 을 포함하지 않습니다. > 텍스트 / XML 어디서나. 즉, Sitemaps를 제공하기 위해 site:를 사용해야하는 항목의 주제에 대해 완전히 침묵합니다.

Sitemap Spec의 해설 이이 질문에 직접 처리되는 경우, 다른 XML 문서의 Content-Type 또는 Content-Type 일 수있는 것처럼 동일한 규칙이 적용될 수 있다고 가정 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top