ShakeJ
MNWorld
ShakeJ
전체 방문자
4,237,605
오늘
9
어제
63
  • 카테고리
    • Contact
    • 🤔그냥이야기
    • 📷사진이야기
    • 제주도에서 한달을 살아보았다
    • 옛글
      • 👇Blog
      • 공지사항
      • 이슈
      • 생각들
      • 👇취미
      • 건프라
      • 👇Review
      • 노래리뷰
      • 영화리뷰
      • 👇Travel Story
      • 2011 도쿄여행기
      • 2013 Google IO
      • 2013 Jeju
      • 2014 HONGKONG
      • 2014 Jeju
      • 2014 Sanfransis..
      • 2015 Lombok
      • 2016 HONGKONG
      • 2017 Saigon
      • 국내여행기
      • Photo Story
      • Growth
      • 👇Server
      • Ruby on the Rai..
      • Frontend
      • FullStack (MEAN..
      • Ubuntu
      • 👇Android
      • 안드로이드 프로그래밍
      • 번역본
      • 내어플이야기
      • 코드창고
      • 👇iOS
      • 아이폰 프로그래밍
      • 맥북 이야기
      • 👇Microsoft
      • ASP.NET
      • Silverlight
      • 윈도우 이야기
      • 👇IT Story
      • 모바일 이야기
      • 하드웨어 이야기
      • 네트워크 이야기
      • 프로그래밍이야기
      • Database이야기
      • 클라우드이야기
      • 프론트 이야기
      • 마케팅이야기
      • 그래픽 작업
      • 블로그 팁

블로그 메뉴

  • GuestBook

공지사항

인기 글

  • 컴퓨터 팬 소음이 많이 날 때 고치는 방법 2가지
    2010.12.15
    컴퓨터 팬 소음이 많이 날 때 고치는 방법 2가지
  • Opacity 컬러코드 투명도 Hex값
    2015.07.13
  • 식은땀난 NO.2003 can't connet 'mysql⋯
    2011.02.23
  • iframe 가로스크롤만 없애기!(세로스크롤도 가능)
    2010.10.28
  • [안드로이드앱추천] 일어나 친구야 - 문자로 알람켜기
    2014.04.29
    [안드로이드앱추천] 일어나 친구야 - 문자로 알람켜기

태그

  • 배너제작
  • 블로그 운영하면서
  • 티스토리
  • 풍경사진
  • 블로그 관련
  • shakej
  • 블로그 운영하기
  • 서울 출사지
  • 랩
  • 무료배너제작
  • 티스토리 팁
  • 초대장
  • 블로그 처음
  • 티스토리 초대장
  • 블로그 만들기
  • D40 사진
  • 블로그 이야기
  • 블로그 팁
  • 블로그 꾸미기
  • iOS 프로그래밍
  • 윈도우폰7
  • MNWorld
  • 배너교환
  • 블로그 시작하기
  • 블로그 잡담
  • 안드로이드 어플 추천
  • 블로그 초보
  • 블로그 운영
  • 배너무료제작
  • asp.net

최근 댓글

  • 감사합니다~!
    ShakeJ
  • 포스팅 잘봤습니다 공감 누르고 가요~
    hellorly
  • 감사합니다 😄
    ShakeJ
  • 포스팅 잘봐서 좋아요 눌렀어요~~🤍 오늘하루도 힘차게 이겨⋯
    D
  • 앗 옛날에 쓴 그 게임 디스크 말씀이시군요.. 거진 10년⋯
    ShakeJ

최근 글

  • [제주도에서 한달을 살아보았다(1)] 한달살이를 시작하며 ⋯
    2022.06.14
    [제주도에서 한달을 살아보았다(1)] 한달살이를 시작하며 ⋯
  • [📷사진이야기] 붉은 호치민의 노을
    2022.02.10
    [📷사진이야기] 붉은 호치민의 노을
  • 13년간의 블로그, 오랫만의 글을 쓰며
    2022.02.09
    13년간의 블로그, 오랫만의 글을 쓰며
  • DB의 index와 rails가 기억하는 index가 틀려⋯
    2020.10.22
  • 건프라 삼국창걸전 SD를 세울 디오라마를 만들어보자!
    2020.09.29
    건프라 삼국창걸전 SD를 세울 디오라마를 만들어보자!

티스토리

hELLO · Designed By 정상우.
ShakeJ

MNWorld

옛글/프론트 이야기

[HTML5이야기] 시맨틱 엘리먼트!?

2011. 1. 4. 21:38

[http://mnworld.co.kr 의 shakej 가 직접 쓴 글입니다.]
[구글 개발자가 들려주는 HTML5 활용 을 공부하고 쓴 글입니다.]


문서타입
 소스 코드 맨 위부터 알아볼까요?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

헤드 윗부분에 이런 코드가 자주 오시는 걸 보실 수 있을거에요^^;
이 태그는 마법처럼 긴 역사를 가진 문서타입입니다. 마이크로소프트는 맥용 인터넷 익스플로러 5를  개발하면서 심각한 문제를 하나 발견했는데, 표준을 만들어놓으니 예전 페이지가 제대로 표시 되지 않는 다는 심각한 문제점이 발견되었습니다. 
 사용자들은 깨진 페이지도 렌더링 되기를 원했고, 당시 대부분의 저작자가 넷스케이프4나 익스플로러4 같은 브라우저에 맞추어 놓았기에 웹페이지가 깨져보인 것입니다.

 마이크로소프트는 한가지 기발한 생각을 했는데, 대부분의 HTML 소스에서 'doctype'은 제일 위에 문서타입을 체크했습니다. 이전 방식은 문서타입이 없었기 때문에, 맥북 IE5는 옛날 방식의 페이지 경우 옛날방식으로 렌더링 할 수 있게 되었습니다. (당연히 안깨어졌겠지요^^;)

 이야기가 샜는데, 다시 돌아와서,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
는 '표준모드' 중 문서타입 15가지 중 하나입니다. HTML5는 위의 문서타입 형식과는 다른 코드를 사용하는데,

<!DOCTYPE html>
을 사용합니다! 굉장히 짧고 쉽죠?^^+
그리고 모든 브라우져에서 '표준모드'로 렌더링됩니다.


루트 엘리먼트
 
흠.. 굉장히 어려운 용어들이 계속 난무하는 가운데, 되도록 쉽게 설명드리고 표현하려니 어렵네요.
엘리먼트가 뭘까요!? 엘리먼트를 먼저 알아야 하는데, 엘리먼트는

HTML 요소란 HTML 문서에서 사용되는 태그를 의미한다. 이 태그는 문서의 제목을 의미하는 태그와, 문서의 시작과 끝을 알리는 태그와, 서식 태그 등이 있다.

출처: HTML 요소 위키백과

쉽게 말해서 <img> 등과 같은 태그들을 각 요소, 즉 엘리먼트라고 합니다.

루트 엘리먼트, 루트의 뜻은 "최상위"라는 뜻이지요?^^
"최상위 요소" 루트엘리먼트는 제일 위쪽에 있는 모든 엘리먼트의 아버지가 되는 것을 이야기 합니다.
HTML 페이지의 루트 엘리먼트는 <HTML> 이 되겠지요.

기존 HTML4 의 <html> 태그의 속성은

<html xmls="http://www.w3.org/1999/xhtml"  lang="en" xml:lang="en">

인데 HTML 5 는 <html lang="en" xml:lang="en">
으로 간단하게 표현이 됩니다. lang = "영어" 라는 언어를 사용한다라는 것을 두개의 속성으로 나타낼까요!?
 
이건 xhtml 의 잔재로 보시면 됩니다.
따라서 정확히는 HTML 5는 간.단.하.게 <html lang="en"> 으로 간단하게 표현이 됩니다.



<head>엘리먼트
 루트엘리먼트의 가장 첫번째 장남은 <head>엘리먼트입니다. (말그대로 순서대로 보시면되요^^)
<body>가 밖으로 보여지는 사람의 외모라면 <head>는 뇌입니다. 밖에선 보이지 않죠. 그 사람을 이해할 때 성격, 뇌, 그사람이 어떠한지 판단할 때 사용되는 게 <head>부분입니다. HTML 도 이와같습니다. 

 페이지 자체의 메타데이터를 가지는 부분입니다.

HTML 헤더에는 문자인코딩 부분이 들어갑니다. 사람들이 사용하는 문자들을 어떠식으로 인코딩해서 보여줄 지 적어주는 부분인데요.
브라우저는 서버가 보낸 데이터의 문자인코딩을 판단을 해야 합니다.

 Content-Type : text/html; charse="utf-8"

이라는 헤더를 많이들 보셨을 거에요. 헤더를 분석해보자면 웹서버가 HTML 전송할 때 UTF-8 문자인코딩을 사용할 거라고 알려주게 됩니다. 보통 웹상에서 글을 쓰는 저작자가 (필자가) http 서버를 제어할 수 있는 경우는 드뭅니다. 예를 들어 제가 이곳에 정보와 컨텐츠를 쓰고 있지만, 서버는 티스토리 다음에서 제공을 해주기에, 저는 http 서버(웹서버)를 제어할 수가 없습니다.

상황이 이렇기에 HTML4 는 HTML 문서 자체에 문자 인코딩을 정의하는 방법을 제공합니다. 제가 만약 html 페이지를 만든다면 (서버를 건드릴 수 없다는 조건아래에서)

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

로 적어서 웹서버와는 무관하게 제가 만든 HTML 페이지에 접속하는 분들께 제 페이지는 UTF-8 문자인코딩을 사용한다고 표현할 수 있습니다.

 조금 쉬어진 HTML 5 에선 다음과 같습니다.

<meta charset="utf-8"/> 로 간단하게 쓸 수 있겠네요.

특수한 문자나 언어를 사용하진 않아도 문자인코딩은 선언해야 해요. 왜냐하면!!!
안적으면 보안상의 위험이 있다고 하네요^^;



현재까진 HTML4의 기존 엘리먼트와 HTML 5는 얼마나 간단하게 표현이 간단한지 설명을 드렸습니다.

숙제: 문자인코딩의 개념에 대해서 인터넷상에 나와있는 걸 읽고 이해한 뒤 쉽게 설명해보세요!
저작자표시 비영리
  • 카카오스토리
  • 트위터
  • 페이스북

'옛글 > 프론트 이야기' 카테고리의 다른 글

혁명적인 jquery mobile web, HTML5와 jquery로 모바일 어플 만들기  (1) 2011.03.18
[쉬운제로보드]간단한 자기홈페이지 만들기  (0) 2011.01.19
[HTML5이야기] Video & Audio 태그 집중 분석  (4) 2011.01.03
[HTML5이야기] HTML5 지원여부 감지  (0) 2011.01.03
[쉬운HTML] 두번째 시간 - 티스토리 블로그 HTML/CSS를 파헤쳐보자  (3) 2011.01.03
    추천글👇
    • [📷사진이야기] 붉은 호치민의 노을
    <!DOCTYPE html>, <html>, DOCTYPE, HTML, html 문서타입, html 엘리먼트, html 요소, html4, html4 html5, HTML5, html5 문서타입, IE5, xhtml 1.0, 루트 엘리먼트, 루트엘리먼트, 맥북 ie5, 엘리먼트, 자식엘리먼트, 태그엘리먼트
    ShakeJ
    ShakeJ
    댓글쓰기
    [쉬운제로보드]간단한 자기홈페이지 만들기
    다음 글
    [쉬운제로보드]간단한 자기홈페이지 만들기
    [HTML5이야기] Video & Audio 태그 집중 분석
    이전 글
    [HTML5이야기] Video & Audio 태그 집중 분석

    티스토리툴바