๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœ’๏ธ Web Hacking/Dreamhack

[Dreamhack] HTTPS + Web๊ณผ ์›น ์„œ๋น„์Šค ๊ตฌ์กฐ + ์›น ๋ฆฌ์†Œ์Šค + ์„œ๋ฒ„์™€ ์›น ํด๋ผ์ด์–ธํŠธ์˜ ํ†ต์‹ ๊ณผ์ • + ์›น ๋ธŒ๋ผ์šฐ์ € + URL + Domain Name๊ณผ IP Address + ์›น ๋ Œ๋”๋ง

by A Lim Han 2022. 9. 15.

1 - 0 - 2. HTTPS + Web๊ณผ ์›น ์„œ๋น„์Šค ๊ตฌ์กฐ + ์›น ๋ฆฌ์†Œ์Šค + ์„œ๋ฒ„์™€ ์›น ํด๋ผ์ด์–ธํŠธ์˜ ํ†ต์‹ ๊ณผ์ • + ์›น ๋ธŒ๋ผ์šฐ์ € + URL + Domain Name๊ณผ IP Address + ์›น ๋ Œ๋”๋ง

 

 

 

# HTTPS(HTTP over Secure soket layer)

: TLS(Transport Layer Security) ํ”„๋กœํ† ์ฝœ์„ ๋„์ž…ํ•˜์—ฌ HTTP ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด ํƒˆ์ทจ ๋“ฑ์˜ ๋ฌธ์ œ๋ฅผ ๋ณด์™„ํ•œ ๊ฒƒ

 

+ TLS ํ”„๋กœํ† ์ฝœ์ด๋ž€?

: ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด์— ๊ตํ™˜๋˜๋Š” ๋ชจ๋“  HTTP ๋ฉ”์„ธ์ง€๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ HTTP ํ†ต์‹ ์„ ๋„์ฒญ ๋ฐ ๋ณ€์กฐ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ

 

HTTP ํ”„๋กœํ† ์ฝœ

 

HTTPS ํ”„๋กœํ† ์ฝœ

+ ์œ„ ์‚ฌ์ง„์—์„œ ๋นจ๊ฐ„์ƒ‰ ๊ธ€์ž๋Š” ๋ชจ๋‘ ์š”์ฒญ, ํŒŒ๋ž€์ƒ‰ ๊ธ€์ž๋Š” ๋ชจ๋‘ ์‘๋‹ต

 

 

 

 

# Web๊ณผ ์›น ์„œ๋น„์Šค ๊ตฌ์กฐ

: ์ธํ„ฐ๋„ท ๊ธฐ๋ฐ˜์˜ ์„œ๋น„์Šค ์ค‘ HTTP ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š” ์„œ๋น„์Šค

์›น ์„œ๋ฒ„(Web Server) ์›น ํด๋ผ์ด์–ธํŠธ(Web Client)
์ •๋ณด ์ œ๊ณต ์ฃผ์ฒด ์ •๋ณด ์ˆ˜์šฉ๋ฐ›๋Š” ์ด์šฉ์ž

 

 

- ์›น ์„œ๋น„์Šค ๊ตฌ์กฐ

ํ”„๋ก ํŠธ์—”๋“œ(Front-end) ๋ฐฑ์—”๋“œ(Back-end)
์›น์˜ ์„œ๋น„์Šค ๊ตฌ์กฐ์—์„œ ์ด์šฉ์ž์˜ ์š”์ฒญ์„ ๋ฐ›๋Š” ๋ถ€๋ถ„์ด๋ฉฐ,
์ด์šฉ์ž์—๊ฒŒ ์ง์ ‘ ๋ณด์—ฌ์ง€๋Š” ๋ถ€๋ถ„
์ด์šฉ์ž์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„

 

 

 

- ์›น ๋ฆฌ์†Œ์Šค(Web Resource)

: ์›น์— ๊ฐ–์ถฐ์ง„ ์ •๋ณด ์ž์‚ฐ์œผ๋กœ, ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค.

 

+ ๋ชจ๋“  ์›น ๋ฆฌ์†Œ์Šค๋Š” ๊ณ ์œ ํ•œ URI(Uniform Resource Indicator)์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹๋ณ„๋จ

+ ๋Œ€ํ‘œ์ ์ธ ์›น ๋ฆฌ์†Œ์Šค

HTML
(Hyper Text
Markup Language)
CSS
(Cascading Style Sheets)
JavaScript
(JS = Client-Side Script)
๊ทธ ์™ธ
์›น ๋ฌธ์„œ ๊ตฌ์กฐ์˜
์‚ด, ๋ผˆ๋Œ€๋ฅผ ๋‹ด๋‹นํ•˜๋ฉฐ
๊ตฌ์กฐํ™”๋œ ๋ฌธ์„œ ์ž‘์„ฑ์„ ์ง€์›
์›น ๋ฌธ์„œ์˜ ์™ธ์–‘์„ ์ง€์ •ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์›น ๋ฆฌ์†Œ์Šค๋“ค์˜
์‹œ๊ฐํ™” ๋ฐฉ๋ฒ•์„ ๊ธฐ์žฌํ•œ
์Šคํƒ€์ผ ์‹œํŠธ
ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‹คํ–‰ํ•˜๊ณ ,
์ด์šฉ์ž์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ
์‹คํ–‰๋˜๋Š” ์›น ๋ฌธ์„œ์˜ ๋™์ž‘์„
์ •์˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ฆฌ์†Œ์Šค
๋ฌธ์„œ, ํฐํŠธ, ์ด๋ฏธ์ง€ ๋“ฑ

 

 

 

 

# ์›น ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜ ํ†ต์‹ ๊ณผ์ •

 

 

1. ์ด์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์›น ์„œ๋ฒ„์— ์ ‘์†

2. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด์šฉ์ž์˜ ์š”์ฒญ์„ ํ•ด์„

3. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•ด์„ํ•œ ์ •๋ณด๋ฅผ HTTP ํ˜•์‹์œผ๋กœ ์›น ์„œ๋ฒ„์— ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญ

4. ์„œ๋ฒ„์—์„œ HTTP ํ˜•์‹์œผ๋กœ ์ „๋‹ฌ๋œ ์ด์šฉ์ž์˜ ์š”์ฒญ ํ•ด์„ํ•œ ํ›„ ์ ์ ˆํ•œ ๋™์ž‘ ์ˆ˜ํ–‰

5. ์„œ๋ฒ„์—์„œ ์ด์šฉ์ž์—๊ฒŒ ๋ณด๋‚ผ ๋ฆฌ์†Œ์Šค๋ฅผ HTTP ํ˜•์‹์œผ๋กœ ์ด์šฉ์ž์—๊ฒŒ ์ „๋‹ฌ

6. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์‘๋‹ต๋ฐ›์€ ์›น ๋ฆฌ์†Œ์Šค๋ฅผ ์‹œ๊ฐํ™”ํ•˜์—ฌ ์ด์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์คŒ

 

 

 

 

# ์›น ๋ธŒ๋ผ์šฐ์ €

: ์„œ๋ฒ„์™€ HTTP์˜ ํ†ต์‹ ์„ ๋Œ€์‹ ํ•˜๊ณ , ์ˆ˜์‹ ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋Š” ์—ญํ• ์„ ํ•จ์œผ๋กœ์จ ๋›ฐ์–ด๋‚œ UX(User eXperience)๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

 

ex) ์ฃผ์†Œ์ฐฝ์— ์ด์šฉ์ž๊ฐ€ ํŠน์ • ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์ˆœ์„œ

1. ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ์ฐฝ์— ์ž…๋ ฅ๋œ ์ฃผ์†Œ ๋ถ„์„ ( = URL ๋ถ„์„ )

2. ์ž…๋ ฅ๋œ ์ฃผ์†Œ์— ํ•ด๋‹นํ•˜๋Š” ์ฃผ์†Œ๋ฅผ ํƒ์ƒ‰ ( = DNS ์š”์ฒญ )

3. HTTP ํ†ตํ•ด ์ž…๋ ฅ๋œ ์ฃผ์†Œ์— ์š”์ฒญ

4. ํ•ด๋‹น ์ฃผ์†Œ์˜ HTTP ์‘๋‹ต์„ ์ˆ˜์‹ 

5. ์›น ๋ Œ๋”๋ง๊ณผ ๋ฆฌ์†Œ์Šค ๋‹ค์šด๋กœ๋“œ ์ž‘์—… ์‹ค์‹œ

 

 

 

 

# URL(Uniform Resource Locator)

: ์›น์— ์กด์žฌํ•˜๋Š” ๋ฆฌ์†Œ์Šค์˜ ์œ„์น˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฌธ์ž์—ด๋กœ, ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ํŠน์ • ์›น ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ๋•Œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.

 

 

- URL ์˜ ๊ตฌ์„ฑ ์š”์†Œ

Scheme Host Port Path Query Fragment
์›น ์„œ๋ฒ„์™€์˜
ํ†ต์‹ ์—์„œ ์‚ฌ์šฉํ•  ํ”„๋กœํ† ์ฝœ์˜ ์ข…๋ฅ˜
Authority์˜
์ผ๋ถ€์ด์ž, ์ ‘์†ํ• 
์›น ์„œ๋ฒ„ ์ฃผ์†Œ์—
๋Œ€ํ•œ ์ •๋ณด ํ‘œ์‹œ
Authority์˜
์ผ๋ถ€์ด์ž ์ ‘์†ํ•  ์›น ์„œ๋ฒ„์˜ ํฌํŠธ์— ๋Œ€ํ•œ ์ •๋ณด ํ‘œ์‹œ
์ ‘๊ทผํ•  ์›น ์„œ๋ฒ„์˜ ๋ฆฌ์†Œ์Šค ๊ฒฝ๋กœ ์›น ์„œ๋ฒ„์—
์ „๋‹ฌ๋˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ
๋ฉ”์ธ ๋ฆฌ์†Œ์Šค ์•ˆ์˜ ์„œ๋ธŒ ๋ฆฌ์†Œ์Šค์—
์ ‘๊ทผํ•  ๋•Œ ์ด๋ฅผ
์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ
์ •๋ณด ๋ณด์œ 

+ ํŒŒ๋ผ๋ฏธํ„ฐ๋ž€?

: ๋งค๊ฐœ ๋ณ€์ˆ˜๋ผ๋Š” ์˜๋ฏธ๋กœ, ์–ด๋– ํ•œ ์‹œ์Šคํ…œ์ด๋‚˜ ํ•จ์ˆ˜์˜ ํŠน์ •ํ•œ ์„ฑ์งˆ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ณ€์ˆ˜๋ฅผ ๋งํ•œ๋‹ค.

 

 

 

 

# Domain Name๊ณผ IP Address

- Domain Name

: Host ๊ฐ€ ๊ฐ€์ง€๋Š” ๊ฐ’ ์ค‘ ํ•˜๋‚˜๋กœ, ์ด๋ฅผ Host ๊ฐ’์œผ๋กœ ์ด์šฉํ•  ๋•Œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ DNS(Domain Name Server)์— Domain Name ์„ ์งˆ์˜ํ•˜๊ณ  DNS ๊ฐ€ ์‘๋‹ตํ•œ IP Aderess๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

 

+ ๋ฆฌ๋ˆ…์Šค๋‚˜ ์œˆ๋„์šฐ ํ™˜๊ฒฝ์—์„œ nslookup ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด Domain Name ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

 

 

+ DNS(Domain Name Server)๋ž€?

: Host์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ IP๋กœ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ๋ฐ˜๋Œ€๋กœ IP๋ฅผ ๋„๋ฉ”์ธ ์ด๋ฆ„์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” ์„œ๋ฒ„

 

 

 

- IP Address

: ๋„คํŠธ์›Œํฌ์ƒ์—์„œ ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์งˆ ๋•Œ ์žฅ์น˜ ์‹๋ณ„์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ถˆ๊ทœ์น™ํ•œ ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ์ฃผ์†Œ

 

 

 

 

# ์›น ๋ Œ๋”๋ง(Web Rendering)

: ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ๋ฆฌ์†Œ์Šค๋ฅผ ์ด์šฉ์ž์—๊ฒŒ ์‹œ๊ฐํ™”ํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๋Š” ํ–‰์œ„๋กœ, ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„์˜ ์‘๋‹ต์„ ๋ฐ›์€ ํ›„ ๋ฆฌ์†Œ์Šค ํƒ€์ž…์„ ํ™•์ธํ•˜์—ฌ ์ ์ ˆํ•œ ๋ฐฉ์‹์œผ๋กœ ์ด์šฉ์ž์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

 

+ ์›น ๋ Œ๋”๋ง์€ ์›น ๋ Œ๋”๋ง ์—”์ง„์— ์˜ํ•ด ์ด๋ค„์ง€๊ณ , ๋ธŒ๋ผ์šฐ์ €๋ณ„๋กœ ์ƒ์ดํ•œ ์—”์ง„์„ ์‚ฌ์šฉํ•œ๋‹ค.

ex) ํฌ๋กฌ์˜ ๊ฒฝ์šฐ ๋ธ”๋งํฌ(Blink)๋ฅผ, ํŒŒ์ด์–ดํญ์Šค์˜ ๊ฒฝ์šฐ ๊ฐœ์ฝ”(Gecko) ์‚ฌ์šฉ