[HTML] HTML5 - 기본 구성

2024. 8. 27. 17:40Language/HTML

 'VS code' 를 통해 'html' 문서를 작업할 때 'html:5' 를 입력하면 아래와 같은 기본 틀이 자동 구성된다. 하나하나 뜯어보자!

 

1. HTML5 - 기본 구성(틀)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>

 

1-1. <!DOCTYPE html>

 현재 문서가 'HTML5' 문서임을 정의

  • 'DOCTYPE' 이란 단어는 아마 'DOCUMENT TYPE(문서 타입)' 의 줄임말로 보인다.

 

1-2. <html>

 HTML 페이지(문서를 의미하는 듯)의 루트 요소(최상위)

  • 루트 요소인 만큼 한 HTML 페이지에 하나가 존재하는게 아닐까라는 생각을 해본다.
  • 해당 요소의 태그 안에 작성된 lang="en" 구문은 해당 요소에 포함되는 모든 기본언어를 영어로 지정하겠다는 의미이다. 예시의 경우 루트 요소인 <html> 에 작성해 해당 페이지의 기본언어가 영어로 설정되었다.
  • lang 속성 을 사용하면 웹 브라우저가 해당 페이지가 어떤 언어로 작성되었는지 파악이 가능하다(물론 웹 브라우저에 관련 기능이 구현되어 있는 경우).
  • 한국어를 지정하고 싶다면 lang="ko" 라 작성하면 된다고 한다.

 

1-3. <head>

 HTML 페이지에 대한 '메타 정보' 가 포함되는 영역

  • 여기서 말하는 '메타 정보' 또는 '메타데이터' 라는 것은 쉽게 말해서 사용자에게 보이지 않는 부분(마치 웹 개발의 Back-end 처럼)을 다루는 데이터(정보, 코드 등등)를 말한다.
  • 좀 더 예를 들어 말하면 <head> 는 사람의 머리 속이다. 다른 사람이 무슨 생각을 하는지 겉으로 티가 나지 않으면 모르는 것처럼 아래에 다룰 <body> 가 없다면 사용자는 모르는 영역이라 나는 이해했다.

 

1-4. <meta>

 HTML 페이지의 '메타 정보' 를 나타내는 태그 중 하나

  • '메타 정보' 를 다루는 태그에는 여러 종류가 있지만 각 태그들은 목적에 맞는 '메타 정보' 를 다룬다. 이러한 태그들이 다루지 못하는 그 밖의 다양한 '메타 정보' 를 <meta> 태그로 다룰 수 있다.
  • charset="UTF-8" 의 'charset' 속성은 어떤 문자 집합을 사용할지 지정하는 속성으로 HTML5 는 'UTF-8' 의 사용을 권장하고 있다. 'UTF-8' 의 경우 전 세계 대부분의 문자를 지원하기 때문이다.
  • name="viewport" 의 'name' 속성은 '메타 정보' 를 위한 이름을 명시하는 속성이다. 'viewport' 의 경우 사용자가 볼 수 있는 영역으로 HTML5 에서는 'viewport' 를 기본적으로 제공하고 있다.
  • content="width=device-width, initial-scale=1.0" 의 'content' 속성은 예시에는 없지만 <meta> 의 또 다른 속성인 'http-equiv' 나 'name' 과 관련된 값(value)을 명시하는 속성이다. 현재 예시는 name="viewport" (사용자가 볼 수 있는 영역)을 사용하고 있으므로 아마 속성 값은 보여지는 화면의 설정 값으로 예상된다.

 

1-5. <title>

 HTML 페이지의 '제목' 을 명시하는 태그

  • '제목' 을 명시한다고 해서 해당 게시글 처럼 페이지 제목이 화면(view)에 출력되는 것은 아니다. 널리 사용되는 웹 브라우저인 'Chrome' 을 예로 들어 설명하면 '탭' 에 표시되는 명칭이 이 <title> 로 명시된 텍스트인 것이다.

크롬의 탭

 

1-6. <body>

 HTML 페이지의 사용자에게 보이는 제목, 단란, 이미지, 하이퍼링크, 표, 목록 등의 컨텐츠를 포함하는 영역

  • 위에서 <head> 에 대해 정리할 때 사람의 머리 속이라 표현했는데, <body> 의 경우는 표정, 헤어스타일 등 외적으로 보이는, 즉 웹 브라우저에서 노출되는 컨텐츠를 포함하는 영역이라 이해했다.

 

 

2. 정리

 결국 HTML 페이지(문서)는 최상위 요소인 <html> 을 하나 가지고 그 아래로 <head> 와 <body> 요소를 각각 하나씩 가지는 틀을 가지고 있다. 그리고 <head> 에는 웹 브라우저에 노출이 되지 않는 정보들을 작성하며, <body> 에는 웹 브라우저에 노출되는 컨텐츠들에 대한 정보를 작성하게 된다.

 

 이렇게 하나씩 뜯어보니 처음엔 "이게 뭘 뜻하는 거지?" 했었는데, 이제는 "HTML 이 기본적으로 어떤 구성을 가졌는지 알고 있다!" 라고 말할 수 있을 것 같다.


참고 문서