2011-04-06 2 views
41

첫 번째로 오는 머리 : 메타 또는 제목?<head>에는 다음과 같습니다. <meta> 또는 <title>?

나는이 글을 읽는했다 :

이 [메타] 태그는 HEAD 섹션의 첫 번째해야, 서버 것 과정 ASCII로 와 어떤 특정 형식 위의 텍스트 그것이 유일하게 알려진 때문에 태그가 분석되면

http://www.xul.fr/en/html5/html.php

은 표준 순서를 지정합니까?

어떤 순서로 단점이 있습니까?

+0

중요하지 않지만 보통은 ''입니다. – Seth

답변

42

다른 답변은 이미 언급 했으므로 일반적으로 중요하지 않습니다. 문제가 발생하는 시점과 이유에 대해 자세히 알아 보겠습니다. 비슷한 토론에있다

http://www.w3.org/TR/html4/charset.html#h-5.2.2

: 모든

먼저, 표준에 대한 질문부터, 당신은 당신이 인용되는 텍스트가 HTML 4에 대한 W3C 권고안에서 오는 것을 알고하는 것 같아서 HTML 5 표준 초안 : 여기

http://dev.w3.org/html5/markup/syntax.html#encoding-declaration

근본적인 문제는 브라우저가 문서 처리를 시작하는 일부 문자 세트 인코딩을 사용하는 것입니다 서버로부터 수신합니다. 한 문자 집합으로 시작한 다음 <meta> 태그가 다른 문자를 사용하도록 지시하면 어떻게됩니까? 대답은 다릅니다 ...

서버은 HTTP 응답 헤더의 Content-Type 필드에 문자 집합을 지정해야합니다. 이 경우 브라우저는 해당 문자 집합을 사용하고 제공된 문서의 <meta> 태그에 표시 될 수있는 문자 집합을 무시합니다.

많은 서버가이 정보를 제공하지 않습니다. 이 경우 브라우저는 시작하기 위해 뭔가를 취해야합니다. 뭔가는 "ASCII 호환"이어야합니다. 즉, ASCII 범위의 모든 문자에 대해 ASCII와 일치한다는 의미입니다. 문서가 <meta> 태그에 문자 집합을 지정하면 브라우저는 해당 문자 집합을 사용하기 시작합니다. 따라서 제목이 그 앞에 오면 이미 제목으로 된 내용에 따라 잘못되었을 수도있는 ASCII로 해석되었습니다.

요약하면 서버가 인코딩을 지정하지 않고 제목이 ASCII 이외의 인코딩으로 인코딩 된 경우 charset을 먼저 지정하는 <meta> 태그를 넣어야합니다. 그렇지 않으면 중요하지 않습니다. 그러므로 안전을 위해 <meta> 태그를 먼저 문자 집합에 사용하는 것이 좋습니다.

8

태그의 순서는 거의 완전히 관련이 없습니다.

그 견적은 <meta http-equiv="content-type">입니다.
해당 태그를 사용하는 경우 브라우저가 문서의 나머지 부분을 구문 분석하는 데 사용할 인코딩을 알 수 있도록 먼저 와야합니다.

비 ASCII 문자가 없으면 그 위치는 중요하지 않습니다.

+2

+1 서버가 이미 지정한 경우 content-type은 무시됩니다. 나는 좀 더 자세하게 설명하는 대답을 주었다. –

+0

당신이 처음으로 내 질문에 답을했지만 조엘은 좀 더 상세한 대답을했습니다. 나는 모든 사람의 대답을 하나로 결합하고 그것을 선택할 수 있기를 바란다. 고마워, 모두들! – XP1

1

대부분의 경우 아무런 문제가되지 않습니다. 일반적으로 <title>을 먼저 넣지 만 완전히 사용자의 취향에 달려 있습니다.

7

당신이 IE를 처리하고 IE에 의해 평가되어야하는 경우는, 머리에 첫 번째되어야 X-UA-COMPATIBLE

<meta http-equiv="X-UA-Compatible" content="IE=7" /> 

를 사용하려는 경우가 아니면 그것은 중요하지 않습니다 ... (그렇지 않으면 그것을 무시합니다)

1

Gaby aka G. Petrioli @ - 오랫동안

, 나는 역시 "X-UA-지원"메타 태그가 먼저 올 필요하거나이 IE에 의해 무시되는 것을 생각했다. <title> 태그 일 수 있습니다. 또한 IE 호환 메타 태그 앞에 다른 유형의 태그 (<link> or <script>)를 사용할 수 없습니다.

https://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx을보고 참고 :

는 X-UA 호환 헤더는 대소 문자를 구분하지 않습니다; 그러나 다른 요소 (제목 요소 및 기타 메타 요소 제외) 앞에 웹 페이지 (HEAD 섹션)의 헤더에 이 표시되어야합니다.

따라서 OP의 질문과 관련된 주제를 계속 유지하려면, 다시 말하지만 메타 태그가 첫 번째인지 아니면 제목 태그가 첫 번째인지는 중요하지 않습니다. 문자 집합 메타 태그 인 실제주의 사항 (Joel Leeanswer above에 나와 있음).

다음은 견고한 실습으로 문자 집합 메타 태그를 <head>에 넣은 다음 바로 IE Compatible 메타 태그를 뒤 따르고 <title>을 추가하는 것입니다. 이처럼 :

<head> 
    <meta charset="UTF-8"> 
    <meta http-equiv="x-ua-compatible" content="IE=edge"> 
    <title>Cool Page</title> 

<title>을 수행 할 수있는 <head>에 살고있는 모든 추가 태그입니다.