HTMLHTML 입문강의 10개 중 2번째난이도 입문

HTML 기본 구조 — head와 body의 역할

발행 읽는 시간 약 4 분

  • HTML
  • DOCTYPE
  • head
  • body
  • 구조

강의 소개

DOCTYPE, html, head, body 태그가 각각 무슨 역할을 하는지 이해하고 올바른 기본 구조를 손에 익힙니다.

집을 짓는 것처럼#

집을 지을 때는 설계도가 있어야 합니다. 무턱대고 벽부터 세우면 안 되죠. 기초를 놓고, 골조를 세우고, 그 위에 외장을 입힙니다.

HTML 문서도 마찬가지입니다. 아무 태그나 아무렇게나 쓰면 안 됩니다. 브라우저가 이해할 수 있는 정해진 구조가 있습니다.

지난 편에서 만든 코드를 다시 보면서 각 부분의 역할을 정확히 이해해 봅시다.


전체 구조 한눈에 보기#

HTML
<!DOCTYPE html>
<html lang="ko">

  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>페이지 제목</title>
  </head>

  <body>
    <!-- 화면에 보이는 내용이 여기에 -->
  </body>

</html>

크게 세 덩어리로 나뉩니다.

부분역할
<!DOCTYPE html>"HTML5 문서입니다" 선언
<head>페이지 정보 (화면에 안 보임)
<body>화면에 보이는 실제 내용

1. <!DOCTYPE html> — 버전 선언#

HTML
<!DOCTYPE html>

이 한 줄은 "이 파일은 HTML5 형식으로 작성됐습니다" 라고 브라우저에 알려줍니다.

없어도 브라우저가 알아서 해석하지만, 있어야 브라우저가 표준 모드로 페이지를 그립니다. 없으면 브라우저마다 다르게 보일 수 있어서 반드시 첫 줄에 써야 합니다.

태그처럼 생겼지만 태그가 아니라 선언(declaration) 입니다. 닫는 태그가 없어요.


2. <html> — 문서의 시작과 끝#

HTML
<html lang="ko">
  ...
</html>

모든 HTML 내용을 감싸는 최상위 태그입니다. lang="ko" 속성은 이 페이지가 한국어로 작성됐다는 뜻입니다.

이 속성이 있으면:

  • 스크린 리더(시각 장애인용 보조 도구)가 올바른 언어로 읽어줍니다.
  • 구글 같은 검색 엔진이 언어를 정확히 파악합니다.
  • 브라우저 자동 번역 기능이 더 정확하게 작동합니다.

3. <head> — 눈에 안 보이는 정보들#

HTML
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>페이지 제목</title>
</head>

<head> 안의 내용은 화면에 직접 표시되지 않습니다. 대신 브라우저와 검색 엔진이 페이지를 이해하는 데 필요한 정보들이 들어갑니다.

<meta charset="UTF-8" />#

문자 인코딩 방식을 UTF-8로 설정합니다. UTF-8은 한글, 영어, 일본어, 이모지 등 세계 대부분의 문자를 표현할 수 있는 인코딩입니다.

이 줄이 없으면 한글이 ??? 나 ÇÇÇ 같이 깨져서 나옵니다.

<meta name="viewport" content="width=device-width, initial-scale=1.0" />#

스마트폰, 태블릿 등 다양한 화면 크기에서 페이지가 올바르게 보이도록 합니다.

이 줄이 없으면 스마트폰에서 화면이 아주 작게 축소되어 글자가 깨알같이 작게 나옵니다.

<title>페이지 제목</title>#

브라우저 탭과 즐겨찾기에 표시되는 페이지 제목입니다. 검색 결과에도 이 제목이 나옵니다.

좋은 제목 예시:

HTML
<title>내 소개 페이지 — 홍길동</title>
<title>오늘의 일기 | 나의 블로그</title>

4. <body> — 화면에 보이는 모든 것#

HTML
<body>
  <h1>제목</h1>
  <p>내용</p>
</body>

앞으로 여러분이 작성할 거의 모든 HTML 태그는 <body> 안에 들어갑니다. 글, 이미지, 버튼, 표 등 화면에 실제로 보이는 요소들이 모두 여기에 위치합니다.


주석 달기#

코드에 메모를 남기고 싶을 때 주석(comment) 을 사용합니다. 주석은 화면에 표시되지 않습니다.

HTML
<!-- 이건 주석입니다. 화면에 보이지 않아요. -->
<h1>안녕하세요!</h1>

<!-- 
  여러 줄 주석도 가능합니다.
  나중에 수정할 때 메모를 남겨두면 편리해요.
-->
<p>내용</p>

코드가 길어지거나 나중에 다시 봤을 때 이해하기 어려울 것 같은 부분에 주석을 달아두는 습관은 아주 좋은 습관입니다.


VSCode 단축키: HTML 기본 구조 자동 완성#

VSCode에서 .html 파일을 열고 !를 입력한 뒤 Tab 키를 누르면 기본 구조가 자동으로 생성됩니다. 이걸 Emmet 이라고 합니다.

Text
! + Tab 입력 →
HTML
<!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>

lang="en" 을 lang="ko" 로, <title>Document</title> 를 원하는 제목으로 바꿔 쓰면 됩니다.


직접 해보기 ✏️#

아래 요구사항에 맞게 index.html 을 새로 작성해 보세요.

  • DOCTYPE 선언 포함
  • 언어를 한국어로 설정
  • 문자 인코딩 UTF-8
  • 모바일 viewport 설정
  • 탭 제목: "홍길동의 첫 페이지" (이름을 본인 이름으로)
  • body에 자기소개 문장 한 줄 넣기

작성한 후 Live Server로 열어서 탭에 제목이 올바르게 나오는지 확인하세요.


정리#

  • <!DOCTYPE html>: HTML5 문서 선언 (항상 첫 줄)
  • <html lang="ko">: 언어 지정 포함 최상위 태그
  • <head>: 화면에 안 보이는 페이지 정보 (charset, viewport, title)
  • <body>: 화면에 보이는 내용 전부
  • <!-- 주석 -->: 화면에 안 보이는 메모

다음 편에서는 <body> 안에서 텍스트를 다루는 다양한 태그들을 배웁니다.

Follow · Ask · Work

이 글이 도움이 됐다면

짧은 작업 기록과 데모는 인스타그램에 올립니다. 만들고 싶은 것이 있다면 프로젝트 의뢰나 협업 제안도 편하게 보내 주세요.

글쓴이

파란여우

직접 만든 AI 앱·제품의 개발·배포를 공개하는 실전형 테크 크리에이터

파란여우 소개 Instagram @bluefox._.hi

이어서 보기

만들고 싶은 것이 있다면 프로젝트 의뢰로 알려 주세요.