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-8default character set 으로 설정한다.

See the Pen HTML Character Entities by SB Park (@sbpark88) on CodePen.


31. HTML URL Encode 👩‍💻

1. Uniform Resource Locator

URLw3schools.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 LanguageXML 기반의 더 엄격한 HTML버전이다. XML application으로 정의된 HTML 로 주요 브라우저는 모두 이를 지원한다.

XHTMLXML 과 같은 다른 포맷과 함께 작업할 수 있도록 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

  1. “HTML Tutorial.” W3Schools. accessed Jan. 27, 2023, W3Schools-HTML.