Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 크래프톤정글
- 코드트리
- 시스템콜
- 알고리즘
- defee
- TiL
- 크래프톤 정글
- userprog
- JavaScript
- 자바
- 티스토리챌린지
- 나만무
- pintos
- 4기
- 큐
- 핀토스
- 백준
- Java
- 오블완
- 스택
- 리액트
- Flutter
- CSS
- HTML
- corou
- 소켓
- Vue.js
- 사이드프로젝트
- 모션비트
- 자바스크립트
Archives
- Today
- Total
미새문지
HTML과 XHTML의 차이점 본문
728x90
HTML(HyperText Markup Language)과 XHTML(eXtensible HyperText Markup Language)은 웹 페이지를 만들기 위해 사용되는 마크업 언어이다.
1. 문법 및 구조
- HTML:
- HTML은 비교적 유연한 문법을 가지고 있다.
- 태그와 속성의 대소문자 구분이 없다.
- 예: <div>와 <DIV>는 동일하게 인식
- <br>이나 <img> 같은 태그는 태그가 닫히지 않아도 사용할 수 있다.
- 속성 값은 꼭 따옴표로 묶지 않아도 된다.
- 예: <input type=text>
- XHTML:
- XHTML은 XML 기반이므로 엄격한 문법을 따른다.
- 태그와 속성의 대소문자를 구분한다.
- 예: <div>와 <DIV>는 다르게 인식 .
- <br>이나 <img> 같은 태그도 동일하게 태그가 닫혀야 한다.
- 모든 속성 값은 반드시 따옴표로 묶여야 한다.
- 예: <input type="text">.
2. 호환성 및 확장성
- HTML:
- 브라우저가 잘못된 HTML도 유연하게 처리하려고 시도한다.
- SGML 기반이며, XML보다 덜 엄격하다.
- XHTML:
- XML 기반이므로 XML 구문 분석기를 사용하여 문서를 처리할 수 있다.
- 엄격한 문법을 따르기 때문에 유효하지 않은 코드가 있으면 문서 전체가 올바르게 표시되지 않을 수 있다.
3. MIME 타입
- HTML:
- text/html MIME 타입으로 전송된다.
- XHTML:
- application/xhtml+xml MIME 타입으로 전송될 수 있다.
- 그러나 대부분의 브라우저 호환성을 위해 여전히 text/html로 전송되기도 한다.
4. 도큐먼트 타입 선언 (DOCTYPE)
- HTML:
- HTML5 이전의 HTML 문서는 여러 가지 DOCTYPE을 사용할 수 있다.
- 예: ` <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">`
- HTML5에서는 단순히 <!DOCTYPE html>을 사용한다.
- HTML5 이전의 HTML 문서는 여러 가지 DOCTYPE을 사용할 수 있다.
- XHTML:
- XHTML 문서는 XML 도큐먼트 선언을 포함할 수 있다.
- 예: <?xml version="1.0" encoding="UTF-8"?>.
- DOCTYPE 선언도 XHTML 용으로 제공된다.
- 예: ` <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> `
- XHTML 문서는 XML 도큐먼트 선언을 포함할 수 있다.
HTML은 더 유연한 문법과 덜 엄격한 규칙을 제공하여 사용하기 쉽지만, XHTML은 XML의 엄격한 구문 규칙을 따르며 더 구조화된 문서를 만들 수 있다.
HTML5의 등장으로 HTML과 XHTML 간의 차이는 줄어들었지만, 두 언어는 여전히 문법 및 구조에서 중요한 차이를 가지고 있다.
728x90
'웹 프론트엔드' 카테고리의 다른 글
Promise와 async/await의 차이점 (0) | 2024.07.09 |
---|---|
Flexbox와 Grid (0) | 2024.07.08 |
웹 소켓(Web Socket) 채팅 앱 만들기 - 메세지 전송 (0) | 2024.04.29 |
웹 소켓(Web Socket) 채팅 앱 만들기 - 유저 로그인 (0) | 2024.04.28 |
웹 소켓(Web Socket) 채팅 앱 만들기 - 클라이언트 서버 연결 (0) | 2024.04.27 |