HTML Basic 6
Entities, Symbols, Emojis, Charset, URL Encode, XHTML
28. HTML Entities 👩💻
1. HTML Entities
HTML 을 사용할 때 Character Entities
를 사용하는 데는 2가지 이유가 존재한다. 첫 번째는 HTML 의 <
나 >
, 연속된 공백
과
같은 허용되지 않거나 HTML 코드와 혼동될 수 있는 예약어(reserved characters)를 대체하기 위함이고, 두 번째는 유니코드를 직접 사용하는
대신 Character Entities 를 이용해 Symbol
을 표현하기 위함이다.
Result | Description | Entity Name | Entity Number |
---|---|---|---|
non-breaking space | |||
< | less than | < | < |
> | greater than | > | > |
& | ampersand | & | & |
” | double quotation mark | " | " |
’ | single quotation mark(apostrophe) | ' | ' |
© | COPYRIGHT | © | © |
® | REGISTERED TRADEMARK | ® | ® |
∂ | PARTIAL DIFFERENTIAL | ∂ | ∂ |
∅ | EMPTY SETS | ∅ | ∅ |
∏ | N-ARY PRODUCT | ∏ | ∏ |
∑ | N-ARY SUMMATION | ∑ | ∑ |
Entity Name 은 약어이기 때문에 기억하기 쉽지만 모든 브라우저에서 지원하지 않을 수 있다. 반면 Entity Number 는 기본적으로
UTF-8
문자셋을 이용하고, 이 코드 번호는 ASCII 의 10진법의 확장형이기 때문에 모든 브라우저에서 지원한다(참고로 UTF-8 은 128 ~ 159 번은 사용하지 않는다).
2. Combining Diacritical Marks
Extended Grapheme Clusters 를 지원하는 것 같다. 다음 예제를 보면 이해가 쉬울 것이다.
Mark | Character | Construct | Result |
---|---|---|---|
̀ | a | à | à |
́ | a | á | á |
̂ | a | â | â |
̃ | a | ã | ã |
̀ | O | Ò | Ò |
́ | O | Ó | Ó |
̂ | O | Ô | Ô |
̃ | O | Õ | Õ |
29. HTML Symbols 👩💻
HTML Entities 에서 소개한 것 외에 많이 사용되는 Symbol 을 좀 더 소개한다.
Result | Description | Entity Name | Entity Number |
---|---|---|---|
Α | GREEK CAPITAL LETTER ALPHA | Α | Α |
Β | GREEK CAPITAL LETTER BETA | Β | Β |
Γ | GREEK CAPITAL LETTER GAMMA | Γ | Γ |
Δ | GREEK CAPITAL LETTER DELTA | Δ | Δ |
Ε | GREEK CAPITAL LETTER EPSILON | Ε | Ε |
Ζ | GREEK CAPITAL LETTER ZETA | Ζ | Ζ |
€ | EURO SIGN | € | € |
™ | TRADEMARK | ™ | ™ |
← | LEFTWARDS ARROW | ← | ← |
↑ | UPWARDS ARROW | ↑ | ↑ |
→ | RIGHTWARDS ARROW | → | → |
↓ | DOWNWARDS ARROW | ↓ | ↓ |
♠ | BLACK SPADE SUIT | ♠ | ♠ |
♣ | BLACK CLUB SUIT | ♣ | ♣ |
♥ | BLACK HEART SUIT | ♥ | ♥ |
♦ | BLACK DIAMOND SUIT | ♦ | ♦ |
30. HTML Emojis 👩💻
UTF-8 Emojis
를 사용하려면 제대로 표현되도록 document 의 character set 을 지정해주어야한다.
<meta charset="UTF-8">
최신 브라우저는 미지정 시
UTF-8
을 default character set 으로 설정한다.
See the Pen HTML Character Entities by SB Park (@sbpark88) on CodePen.
31. HTML URL Encode 👩💻
1. Uniform Resource Locator
URL
은 w3schools.com
또는 192.68.20.50
과 같은 주소를 표현하며 다음과 같이 구성되어진다.
https://www.w3schools.com/html/default.asp
- scheme : protocol 을 나타내며 웹에서는 주로 http 또는 https 를 사용하며 위 경우
https
에 해당한다. - prefix : domain prefix 로 http 또는 https 의 default prefix 는 위에서 볼 수 있듯이
www
이다. - domain : 웹 서버의 고유 주소를 나타내며 위 경우
w3schools.com
에 해당한다. - port : host 의 포트 번호를 정의하며, http 는 80, https 는 443 을 default 로 사용한다. 위 경우 생략되었으나
443
을 기본값으로 사용한다. - path : 서버상의 경로를 가리킨다. 생략시 서버의 root 를 의미한다. 위 경우
/html
이다. - filename : 서버의 document 또는 resource 를 가리킨다. 위 경우
default.asp
이다.
2. Common URL Schemes
Scheme | Short for | Used for |
---|---|---|
http | HyperText Transfer Protocol | Common web pages. Not encrypted |
https | Secure HyperText Transfer Protocol | Secure web pages. Encrypted |
ftp | File Transfer Protocol | Downloading or uploading files |
file | A file on your computer |
3. URL Encoding
URL 은 오직 ASCII character-set
만 표현할 수 있다. 따라서 ASCII character-set 이외의 문자는 전송을 위해 ASCII 가
인식할 수 있으나 ASCII 에 포함되지 않는 방식으로 변경해야한다. 따라서 다음 규칙을 갖는다.
ASCII
가 아닌 문자는%[hexadecimal]
로 변환한다.- URL 은 공백을 포함할 수 없다.
+
도는%20
으로 변환한다.
See the Pen Untitled by SB Park (@sbpark88) on CodePen.
32. XHTML 👩💻
1. What is XHTML?
EXtensible HyperText Markup Language
은 XML 기반의 더 엄격한 HTML
버전이다. XML application
으로 정의된 HTML 로
주요 브라우저는 모두 이를 지원한다.
XHTML 은 XML 과 같은 다른 포맷과 함께 작업할 수 있도록 HTML 을 보다 확장 가능하고 유연하게 만들기 위해 개발되었다. 그리고 브라우저는 HTML 을 느슨하게 다룸으로 일부 오류가 있어도 이를 무시하고 정상적으로 렌더링한다. 반면, XHTML XML 포맷과의 호환을 위해 오류를 더 엄격하게 다룬다.
다음은 XHTML 의 특징이다.
<!DOCTYPE>
을 반드시 작성해야한다.<html xmlns="http://www.w3.org/1999/xhtml">
과 같이<html>
element 에xmlns
(XML Name Space)를 반드시 작성해야한다.<html>
,<head>
,<title>
,<body>
모두 반드시 작성해야한다.element
는 반드시 닫혀야한다(closed
).element
는 반드시 열린 순서의 역순으로(LIFO) 닫혀 완벽하게nested
구조를 취해야한다.element
는 반드시소문자
로 작성해야한다.attribute name
은 반드시소문자
로 작성해야한다.attribute value
는 반드시"
로 감싸야한다.attribute value
는 반드시작성
해야한다.
2. Requirements of XHTML.
<!DOCTYPE>
<html xmlns="">
<html>
,<head>
,<title>
,<body>
위 3가지의 기본 의무조건을 반드시 작성해야한다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title of document</title>
</head>
<body>
some content here...
</body>
</html>
3. Elements Must Always be Closed
- Correct
<p>This is a paragraph</p>
<p>This is another paragraph</p>
- Wrong
<p>This is a paragraph
<p>This is another paragraph
4. Empty Elements Must Always be Closed
XHTML 은 <br>
, <hr>
과 같이 종료 태크가 없는 Empty Elements
역시 공백 + /
를 이용해 반드시 닫아줘야한다.
- Correct
A break: <br />
A horizontal rule: <hr />
An image: <img src="happy.gif" alt="Happy face" />
- Wrong
A break: <br>
A horizontal rule: <hr>
An image: <img src="happy.gif" alt="Happy face">
5. Elements Must be Properly Nested
- Correct
<b><i>Some text</i></b>
- Wrong
<b><i>Some text</b></i>
6. Elements Must be in Lowercase
- Correct
<body>
<p>This is a paragraph</p>
</body>
- Wrong
<BODY>
<P>This is a paragraph</P>
</BODY>
7. Attribute Names Must be in Lowercase
- Correct
<a href="https://www.w3schools.com/html/">Visit our HTML tutorial</a>
- Wrong
<a HREF="https://www.w3schools.com/html/">Visit our HTML tutorial</a>
8. Attribute Values Must be Quoted
- Correct
<a href="https://www.w3schools.com/html/">Visit our HTML tutorial</a>
- Wrong
<a href=https://www.w3schools.com/html/>Visit our HTML tutorial</a>
9. XHTML Attribute Minimization is Forbidden
- Correct
<input type="checkbox" name="vehicle" value="car" checked="checked" />
<input type="text" name="lastname" disabled="disabled" />
- Wrong
<input type="checkbox" name="vehicle" value="car" checked />
<input type="text" name="lastname" disabled />
Reference
- “HTML Tutorial.” W3Schools. accessed Jan. 27, 2023, W3Schools-HTML.