๐Ÿ“š Computer Science/CS

[ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” ๋„คํŠธ์›Œํฌ] 5์žฅ. ์‘์šฉ ๊ณ„์ธต

ibelieveinme 2025. 3. 16. 10:40
728x90

์ด ๊ธ€์€ ใ€Œํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” ๋„คํŠธ์›Œํฌใ€ ์ฑ… ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

์ €์ž‘๊ถŒ ๋ฌธ์ œ์‹œ ์‚ญ์ œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


 

OSI ๋ชจ๋ธ

์‘์šฉ ๊ณ„์ธต
ํ‘œํ˜„ ๊ณ„์ธต
์„ธ์…˜ ๊ณ„์ธต
์ „์†ก ๊ณ„์ธต
๋„คํŠธ์›Œํฌ ๊ณ„์ธต
๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต
๋ฌผ๋ฆฌ ๊ณ„์ธต

 

 

05-1.DNS์™€ ์ž์›

 

์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ '๋ฉ”์„ธ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ณ ์ž ํ•˜๋Š” ๋Œ€์ƒ'๊ณผ '์†ก์ˆ˜์‹ ํ•˜๊ณ ์ž ํ•˜๋Š” ์ •๋ณด'๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

1) ๋ฉ”์„ธ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ณ ์ž ํ•˜๋Š” ๋Œ€์ƒ์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด IP ์ฃผ์†Œ ์™ธ์— ๋„๋ฉ”์ธ ๋„ค์ž„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

2) ์†ก์ˆ˜์‹ ํ•˜๊ณ ์ž ํ•˜๋Š” ์ •๋ณด๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์œ„์น˜ ๊ธฐ๋ฐ˜ ์‹๋ณ„์ž URL๊ณผ ์ด๋ฆ„ ๊ธฐ๋ฐ˜ ์‹๋ณ„์ž URN์ด ์žˆ๋‹ค.

 

 

* ๋„๋ฉ”์ธ ๋„ค์ž„๊ณผ ๋„ค์ž„ ์„œ๋ฒ„

 

1. ๋„๋ฉ”์ธ ๋„ค์ž„

: ํ˜ธ์ŠคํŠธ์˜ IP ์ฃผ์†Œ์™€ ๋Œ€์‘๋˜๋Š” ๋ฌธ์ž์—ด ํ˜•ํƒœ์˜ ํ˜ธ์ŠคํŠธ ํŠน์ • ์ •๋ณด.

IP ์ฃผ์†Œ๋ณด๋‹ค ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฝ๋‹ค. IP ์ฃผ์†Œ๊ฐ€ ๋ฐ”๋€Œ๋”๋ผ๋„ ๋ฐ”๋€ IP ์ฃผ์†Œ์— ๋„๋ฉ”์ธ ๋„ค์ž„์„ ๋‹ค์‹œ ๋Œ€์‘ํ•˜๋ฉด ๋˜์–ด IP ์ฃผ์†Œ๋งŒ์œผ๋กœ ํ˜ธ์ŠคํŠธ๋ฅผ ํŠน์ •ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๊ฐ„ํŽธํ•˜๋‹ค.

ex) www.naver.com,  www.google.com  ๋“ฑ

 

2. ๋„ค์ž„ ์„œ๋ฒ„

: ๋„๋ฉ”์ธ ๋„ค์ž„๊ณผ IP ์ฃผ์†Œ๋ฅผ ๋ชจ์•„ ๊ด€๋ฆฌ.

๊ณต์šฉ ์ „ํ™”๋ฒˆํ˜ธ๋ถ€ ์—ญํ• 

 

cf) ๊ฐœ์ธ ์ „ํ™”๋ฒˆํ˜ธ๋ถ€ ์—ญํ• ์˜ 'hosts ํŒŒ์ผ'

: ํ˜ธ์ŠคํŠธ๋งˆ๋‹ค ๊ฐ–๊ณ  ์žˆ๋Š” ๋„๋ฉ”์ธ ๋„ค์ž„๊ณผ IP ์ฃผ์†Œ์˜ ๋Œ€์‘ ๊ด€๊ณ„๋ฅผ ๋‹ด์€ ํŒŒ์ผ.

- macOS ์˜ ๊ฒฝ์šฐ /etc/hosts ์— ์œ„์น˜

- ์œˆ๋„์šฐ์˜ ๊ฒฝ์šฐ %SystemRoot%\System\drivers\etc\hosts

 

 

3. ๋„๋ฉ”์ธ ๋„ค์ž„์˜ ๊ตฌ์กฐ

www.example.com 

 

 

๋„๋ฉ”์ธ ๋„ค์ž„์€ .์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์ธต์ ์œผ๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค.

 

1) ๋ฃจํŠธ ๋„๋ฉ”์ธ: www.google.com.  ์œผ๋กœ ์ ‘์†ํ•ด๋„ ๋˜์ง€๋งŒ ์ƒ๋žตํ•ด์„œ ํ‘œ๊ธฐํ•œ๋‹ค.

2) ์ตœ์ƒ์œ„ ๋„๋ฉ”์ธ(TLD: Top-Level Domain): ๋„๋ฉ”์ธ ๋„ค์ž„์˜ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„.

ex) com, net, org, kr(๋Œ€ํ•œ๋ฏผ๊ตญ), jp(์ผ๋ณธ), cn(์ค‘๊ตญ), us(๋ฏธ๊ตญ),...

3) 2๋‹จ๊ณ„ ๋„๋ฉ”์ธ: example

3) 3๋‹จ๊ณ„ ๋„๋ฉ”์ธ: www. www.example.com์€ ์€ 3๋‹จ๊ณ„๊นŒ์ง€ ๊ฐ€๋ฉด ๋„๋ฉ”์ธ ๋„ค์ž„ ์ „์ฒด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์–ด์„œ www ๋ฅผ ํ˜ธ์ŠคํŠธ ๋„ค์ž„์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค.

cf) ์ „์ฒด ์ฃผ์†Œ ๋„๋ฉ”์ธ ๋„ค์ž„์„ (FQDN: Full-Qualified Domain Name) ๋ผ ์นญํ•œ๋‹ค

 

 

4. ๊ณ„์ธต์  ๋„ค์ž„ ์„œ๋ฒ„

 

๊ณ„์ธต์ ์ธ ๋„๋ฉ”์ธ ๋„ค์ž„์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋„ค์ž„ ์„œ๋ฒ„ ๋˜ํ•œ ๊ณ„์ธต์ ์ธ ํ˜•ํƒœ๋ฅผ ์ด๋ฃฌ๋‹ค.

๋„ค์ž„ ์„œ๋ฒ„๋Š” ์—ฌ๋Ÿฌ ๊ฐœ ์กด์žฌํ•˜๋ฉฐ ์ „ ์„ธ๊ณ„ ์—ฌ๋Ÿฌ ๊ตฐ๋ฐ์— ์œ„์น˜ํ•ด ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๊ณ„์ธต์ ์œผ๋กœ ๋ถ„์‚ฐ๋œ ๋„๋ฉ”์ธ ๋„ค์ž„์— ๋Œ€ํ•œ ๊ด€๋ฆฌ ์ฒด๊ณ„๋ฅผ Domain Name System(DNS) ๋ผ ๋ถ€๋ฅธ๋‹ค.

 

IP ์ฃผ์†Œ๋ฅผ ๋ชจ๋ฅด๋Š” ์ƒํƒœ์—์„œ ๋„๋ฉ”์ธ ๋„ค์ž„์— ๋Œ€์‘ ๋˜๋Š” IP ์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ด๋Š” ๊ณผ์ •: ๋„๋ฉ”์ธ ๋„ค์ž„์„ ํ’€์ดํ•œ๋‹ค. ๋ฆฌ์กธ๋น™ํ•œ๋‹ค. ๋ผ๊ณ  ํ‘œํ˜„ํ•จ.

 

1) ๋กœ์ปฌ ๋„ค์ž„ ์„œ๋ฒ„

: ํด๋ผ์ด์–ธํŠธ์™€ ๋งž๋‹ฟ์•„ ์žˆ๋Š” ๋„ค์ž„ ์„œ๋ฒ„. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋„๋ฉ”์ธ ๋„ค์ž„์„ ํ†ตํ•ด IP ์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ด๊ณ ์ž ํ•  ๋•Œ ๊ฐ€์žฅ ๋จผ์ € ์ฐพ๊ฒŒ ๋˜๋Š” ๋„ค์ž„ ์„œ๋ฒ„

- ๋กœ์ปฌ ๋„ค์ž„ ์„œ๋ฒ„์˜ ์ฃผ์†Œ๋Š” ISP๊ฐ€ ํ• ๋‹นํ•ด ์ฃผ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ณ , ๊ณต๊ฐœ DNS ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

- ๋Œ€ํ‘œ์ ์ธ ๊ณต๊ฐœ DNS ์„œ๋ฒ„์˜ ์˜ˆ: ๊ตฌ๊ธ€์˜ 8.8.8.8, 8.8.4.4, ํด๋ผ์šฐ๋“œํ”Œ๋ ˆ์–ด์˜ 1.1.1.1

 

2) ๋ฃจํŠธ ๋„ค์ž„ ์„œ๋ฒ„

๋ฃจํŠธ ๋„๋ฉ”์ธ์„ ๊ด€์žฅํ•˜๋Š” ๋„ค์ž„ ์„œ๋ฒ„. 

TLD ๋„ค์ž„ ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ ๋ฐ˜ํ™˜.

 

3) TLD ๋„ค์ž„ ์„œ๋ฒ„

TLD๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋„ค์ž„ ์„œ๋ฒ„

TLD์˜ ํ•˜์œ„ ๋„๋ฉ”์ธ ๋„ค์ž„์„ ๊ด€๋ฆฌํ•˜๋Š” ๋„ค์ž„ ์„œ๋ฒ„ ์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜

 

4) ์ฑ…์ž„ ๋„ค์ž„ ์„œ๋ฒ„

์ž์‹ ์ด ๊ด€๋ฆฌํ•˜๋Š” ๋„๋ฉ”์ธ ์˜์—ญ์˜ ์งˆ์˜์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค๋ฅธ ๋„ค์ž„ ์„œ๋ฒ„์—๊ฒŒ ์ „๋‹ฌํ•˜์ง€ ์•Š๊ณ  ๊ณง๋ฐ”๋กœ ๋‹ตํ•  ์ˆ˜ ์žˆ๋Š” ๋„ค์ž„ ์„œ๋ฒ„. ๋กœ์ปฌ ๋„ค์ž„ ์„œ๋ฒ„๊ฐ€ ๋งˆ์ง€๋ง‰์œผ๋กœ ์งˆ์˜ํ•˜๋Š” ๋„ค์ž„ ์„œ๋ฒ„.

 

 

* ๋„๋ฉ”์ธ ๋„ค์ž„์„ ๋ฆฌ์กธ๋น™ํ•˜๋Š” ๊ณผ์ •

: ์žฌ๊ท€์  ์งˆ์˜, ๋ฐ˜๋ณต์  ์งˆ์˜

 

1) ์žฌ๊ท€์  ์งˆ์˜: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋กœ์ปฌ ๋„ค์ž„ ์„œ๋ฒ„์—๊ฒŒ ๋„๋ฉ”์ธ ๋„ค์ž„์„ ์งˆ์˜ํ•˜๋ฉด, ๋กœ์ปฌ ๋„ค์ž„ ์„œ๋ฒ„๊ฐ€ ๋ฃจํŠธ ๋„ค์ž„ ์„œ๋ฒ„์—๊ฒŒ, ๋ฃจํŠธ ๋„ค์ž„ ์„œ๋ฒ„๊ฐ€ TLD ๋„ค์ž„ ์„œ๋ฒ„์—๊ฒŒ, TLD ๋„ค์ž„ ์„œ๋ฒ„๊ฐ€ ๋‹ค์Œ ๋‹จ๊ณ„์— ์งˆ์˜ํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๊ณ  ์ตœ์ข… ์‘๋‹ต ๊ฒฐ๊ณผ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ์ „๋‹ฌ๋ฐ›๋Š” ๋ฐฉ์‹. 

 

2) ๋ฐ˜๋ณต์  ์งˆ์˜: ๋กœ์ปฌ ๋„ค์ž„ ์„œ๋ฒ„๊ฐ€ ๋„ค์ž„ ์„œ๋ฒ„๋“ค์—๊ฒŒ ์ฐจ๋ก€๋กœ ์งˆ์˜ํ•ด์„œ ์ตœ์ข… ์‘๋‹ต ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ๋ฐฉ์‹

 

* DNS ์บ์‹œ: ์‹œ๊ฐ„ ์ ˆ์•ฝ์„ ์œ„ํ•ด ๋„ค์ž„ ์„œ๋ฒ„๋“ค์ด ๊ธฐ์กด์— ์‘๋‹ต๋ฐ›์€ ๊ฒฐ๊ณผ๋ฅผ ์ž„์‹œ ์ €์žฅํ•ด๋†จ๋‹ค๊ฐ€ ์ถ”ํ›„ ๊ฐ™์€ ์งˆ์˜์— ๋ฐ˜ํ™˜

 

 

5.  URI(Uniform Resource Identifier)

: ์ž์›์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด. ์ž์›์„ ์‹๋ณ„ํ•˜๋Š” ํ†ต์ผ๋œ ๋ฐฉ์‹.

 

1) URL(Uniform Resource Locator): ์œ„์น˜๋ฅผ ์ด์šฉํ•ด ์ž์›์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐฉ์‹

2) URN(Uniform Resource Name): ์ด๋ฆ„์„ ์ด์šฉํ•ด ์ž์›์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐฉ์‹

 

*URL

1) scheme: ์ž์›์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•. http, https

2) authority: ํ˜ธ์ŠคํŠธ๋ฅผ ํŠน์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด. IP ์ฃผ์†Œ, ๋„๋ฉ”์ธ ๋„ค์ž„. (:) ์œผ๋กœ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ผ ์ˆ˜๋„ ์žˆ์Œ.

3) path: ์ž์›์ด ์œ„์น˜ํ•œ ๊ฒฝ๋กœ. (/) ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์ธต์ ์œผ๋กœ ํ‘œํ˜„

4) query: <query=value> ํ˜•ํƒœ๋กœ ํŠน์ • ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

5) fragment: ์ž์›์˜ ํ•œ ์กฐ๊ฐ์„ ๊ฐ€๋ฆฌํ‚ค๊ธฐ ์œ„ํ•œ ์ •๋ณด. html ํŒŒ์ผ๊ณผ ๊ฐ™์€ ์ž์›์—์„œ ํŠน์ • ๋ถ€๋ถ„์„ ๊ฐ€๋ฆฌํ‚ด.(์Šคํฌ๋กค ์ด๋™)

 

 

* URN

: ์ž์›์— ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ๋ถ€ํ‹ฐ๋Š” ์ด๋ฆ„ ๊ธฐ๋ฐ˜ ์‹๋ณ„์ž. ์ž์›์˜ ์œ„์น˜์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ์ž์›์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ .

ex) urn:isbn.0451450523

 

 

 

05-2. HTTP

 

HTTP: ์‘์šฉ ๊ณ„์ธต์—์„œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ

์š”์ฒญ๊ณผ ์‘๋‹ต์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘, ๋ฏธ๋””์–ด ๋™๋ฆฝ์ , ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๊ณ  ์ง€์† ์—ฐ๊ฒฐ์„ ์ง€์›ํ•œ๋‹ค.

 

1. HTTP์˜ ํŠน์„ฑ

 

1) ์š”์ฒญ - ์‘๋‹ต ๊ธฐ๋ฐ˜ ํ”„๋กœํ† ์ฝœ

: ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์„œ๋กœ HTTP ์š”์ฒญ ๋ฉ”์‹œ์ง€์™€ HTTP ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ตฌ์กฐ๋กœ ๋™์ž‘ํ•œ๋‹ค.

 

2) ๋ฏธ๋””์–ด ๋…๋ฆฝ์  ํ”„๋กœํ† ์ฝœ

: ์ฃผ๊ณ ๋ฐ›์„ ์ž์›์˜ ํŠน์„ฑ๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ ์ž์›์„ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜๋‹จ์˜ ์—ญํ• ๋งŒ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

: HTTP์—์„œ ๋ฉ”์‹œ์ง€๋กœ ์ฃผ๊ณ ๋ฐ›๋Š” ์ž์›์˜ ์ข…๋ฅ˜๋ฅผ ๋ฏธ๋””์–ด ํƒ€์ž…(MIME ํƒ€์ž…) ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ํƒ€์ž…/์„œ๋ธŒํƒ€์ž… ํ˜•ํƒœ๋กœ ๋ช…์‹œ

 

3) ์Šคํ…Œ์ดํŠธ๋ฆฌ์Šค ํ”„๋กœํ† ์ฝœ

: ์„œ๋ฒ„๊ฐ€ HTTP ์š”์ฒญ์„ ๋ณด๋‚ธ ํด๋ผ์ด์–ธํŠธ์™€ ๊ณ ๋‚˜๋ จ๋œ ์ƒํƒœ๋ฅผ ๊ธฐ์–ตํ•˜์ง€ ์•Š๋Š”๋‹ค.

: TTTP ์„œ๋ฒ„๊ฐ€ ๋งŽ์€ ํด๋ผ์ด์–ธํŠธ์™€ ๋™์‹œ์— ์ƒํ˜ธ์ž‘์šฉํ•ด์•ผ ํ•˜๊ณ  ์—ฌ๋Ÿฌ ๋Œ€๋กœ ๊ตฌ์„ฑ๋˜๋ฏ€๋กœ ์ƒํƒœ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ์ง€ ์•Š๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ์ƒ์˜ ์ด์ ์ด ๋” ๋งŽ๊ธฐ ๋•Œ๋ฌธ.

: ์–ธ์ œ๋“  ์‰ฝ๊ฒŒ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๊ณ (ํ™•์žฅ์„ฑ), ์„œ๋ฒ„ ์ค‘ ํ•˜๋‚˜์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ๋„ ์‰ฝ๊ฒŒ ๋‹ค๋ฅธ ์„œ๋ฒ„๋กœ ๋Œ€์ฒด ๊ฐ€๋Šฅํ•˜๋‹ค.(๊ฒฌ๊ณ ์„ฑ)

 

4) ์ง€์† ์—ฐ๊ฒฐ ํ”„๋กœํ† ์ฝœ

: ๋งค๋ฒˆ ์ƒˆ๋กญ๊ฒŒ ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฆฝ/์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค ๋” ๋น ๋ฅด๊ฒŒ ์—ฌ๋Ÿฌ HTTP ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

2. HTTP ๋ฉ”์‹œ์ง€์˜ ๊ตฌ์กฐ

 

1) ์‹œ์ž‘๋ผ์ธ(์š”์ฒญ๋ผ์ธ/์ƒํƒœ๋ผ์ธ)

 

- HTTP ์š”์ฒญ ๋ฉ”์‹œ์ง€์ธ ๊ฒฝ์šฐ: ์š”์ฒญ ๋ผ์ธ.

๋ฉ”์„œ๋“œ (๊ณต๋ฐฑ) ์š”์ฒญ ๋Œ€์ƒ (๊ณต๋ฐฑ) HTTP ๋ฒ„์ „ (์ค„๋ฐ”๊ฟˆ)

 

๋ฉ”์„œ๋“œ: GET, POST, PUT, DELETE ๋“ฑ

์š”์ฒญ๋Œ€์ƒ: HTTP ์š”์ฒญ์„ ๋ณด๋‚ผ ์„œ๋ฒ„์˜ ์ž์›. http://www.example.com/hello?q=world ์ผ ๋•Œ /hello?q=world

HTTP ๋ฒ„์ „: HTTP/<๋ฒ„์ „> ํ˜•ํƒœ๋กœ ์ ์–ด์คŒ

 

- HTTP ์‘๋‹ต ๋ฉ”์‹œ์ง€์ธ ๊ฒฝ์šฐ: ์ƒํƒœ ๋ผ์ธ.

HTTP ๋ฒ„์ „ (๊ณต๋ฐฑ) ์ƒํƒœ ์ฝ”๋“œ (๊ณต๋ฐฑ) ์ด์œ  ๊ตฌ๋ฌธ * (์ค„๋ฐ”๊ฟˆ)

 

์ƒํƒœ ์ฝ”๋“œ: ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” 3์ž๋ฆฌ ์ •์ˆ˜

์ด์œ  ๊ตฌ๋ฌธ: ์ƒํƒœ ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋ฌธ์ž์—ด ํ˜•ํƒœ์˜ ์„ค๋ช…

 

ex) HTTP/1.1 200 OK, HTTP/1.1 404 Not Found

 

2) ํ•„๋“œ ๋ผ์ธ(ํ—ค๋” ๋ผ์ธ)

: 0๊ฐœ ์ด์ƒ์˜ HTTP ํ—ค๋”๊ฐ€ ๋ช…์‹œ๋จ. HTTP ํ†ต์‹ ์— ํ•„์š”ํ•œ ๋ถ€๊ฐ€ ์ •๋ณด.

 

3) ๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ

: ๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ์€ ์กด์žฌํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๊ณ , Json, html ๋“ฑ ๋‹ค์–‘ํ•œ ์ฝ˜ํ…์ธ  ํƒ€์ž…์ด ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

 

3. HTTP ๋ฉ”์„œ๋“œ

 

* GET ์˜ˆ์‹œ

 

* API ๋ฌธ์„œ

: ์–ด๋–ค URL์— ์–ด๋–ค ๋ฉ”์„œ๋“œ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š”์ง€, ์–ด๋–ค ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด์ด ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š”์ง€, ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์š”์ฒญ์„ ๋ณด๋ƒˆ์„ ๊ฒฝ์šฐ ์–ด๋–ค ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”์ง€ ๋“ฑ์„ ๋ช…์‹œํ•œ ๊ฐ€์ด๋“œ ๋ฌธ์„œ

 

 

4. HTTP ์ƒํƒœ์ฝ”๋“œ

 

202: ์ž‘์—…์‹œ๊ฐ„์ด ๊ธด ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ์—…๋กœ๋“œ ์ž‘์—…์ด๋‚˜ ๋ฐฐ์น˜ ์ž‘์—…๊ณผ ๊ฐ™์ด ์š”์ฒญ ๊ฒฐ๊ณผ๋ฅผ ๊ณง๋ฐ”๋กœ ์‘๋‹ตํ•˜๊ธฐ ์–ด๋ ค์šด ์ƒํ™ฉ

 

๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ƒํƒœ: ์š”์ฒญ์„ ์™„์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€์ ์ธ ์กฐ์น˜๊ฐ€ ํ•„์š”ํ•œ ์ƒํƒœ

์˜๊ตฌ์ ์ธ ๋ฆฌ๋‹ค์ด๋ ‰์…˜: ์ž์›์ด ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ๊ณณ์œผ๋กœ ์ด๋™ํ•ด์„œ ๊ฒฝ๋กœ๊ฐ€ ์˜๊ตฌ์ ์œผ๋กœ ์žฌ์ง€์ •๋œ ์ƒํƒœ

 

์ผ์‹œ์ ์ธ ๋ฆฌ๋‹ค์ด๋ ‰์…˜: ์ž์›์˜ ์œ„์น˜๊ฐ€ ์ž„์‹œ๋กœ ๋ณ€๊ฒฝ๋œ ์ƒํƒœ

 

ํด๋ผ์ด์–ธํŠธ์— ์˜ํ•œ ์—๋Ÿฌ๊ฐ€ ์žˆ๋Š” ์ƒํƒœ.

์„œ๋ฒ„๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ํ˜•ํƒœ๋กœ ์š”์ฒญํ–ˆ๊ฑฐ๋‚˜ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ž์›์— ๋Œ€ํ•œ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ

 

์„œ๋ฒ„ ์—๋Ÿฌ์— ๋Œ€ํ•œ ์ƒํƒœ.

 

 

5. HTTP์˜ ๋ฐœ์ „

1) HTTP/0.9: ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๋ฉ”์„œ๋“œ GET, ์š”์ฒญ ๋ฉ”์‹œ์ง€ ํ•œ ์ค„๋กœ ๊ตฌ์„ฑ. ํ—ค๋” ์ง€์›๋ถˆ๊ฐ€

 

2) HTTP/1.0: HEAD, POST ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€. ํ—ค๋” ์ง€์› ์‹œ์ž‘. ์ง€์† ์—ฐ๊ฒฐ ์ง€์› ๋ถˆ๊ฐ€.

 

3) HTTP/1.1: ์ง€์† ์—ฐ๊ฒฐ ์ง€์›. ์‘๋‹ต ์ „์— ๋‹ค์Œ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ํŒŒ์ดํ”„๋ผ์ด๋‹ ๊ธฐ๋Šฅ ์ถ”๊ฐ€. ์ฝ˜ํ…์ธ  ํ˜‘์ƒ ๊ธฐ๋Šฅ ๋“ฑ ๋‹ค์–‘ํ•œ ํŽธ์˜ ๊ธฐ๋Šฅ ๋ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ—ค๋” ์ถ”๊ฐ€. ์˜ค๋Š˜๋‚ ๊นŒ์ง€ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฒ„์ „.

 

4) HTTP/2.0: HTTP/1.1์˜ ํšจ์œจ๊ณผ ์„ฑ๋Šฅ์„ ๋†’์ธ ๋ฒ„์ „. ํ—ค๋” ์••์ถ• ์ „์†ก, ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์˜ ๋ฉ”์‹œ์ง€ ์†ก์ˆ˜์‹ , ๋ฏธ๋ž˜์— ์‚ฌ์šฉ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ์ž์›์„ ๋ฏธ๋ฆฌ ์ „์†กํ•ด์ฃผ๋Š” ์„œ๋ฒ„ ํ‘ธ์‹œ ๊ธฐ๋Šฅ ์ œ๊ณต. ๋ณ‘๋ ฌ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ ๊ธฐ์ˆ  ๋„์ž….

 

5) HTTP/3.0: ์ด์ „ ๋ฒ„์ „๋“ค์ด TCP ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ UDP ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘. ๋น„์—ฐ๊ฒฐํ˜• ํ”„๋กœํ† ์ฝœ UDP ๊ฐ€ ๋” ๋นจ๋ผ์„œ ์†๋„๊ฐ€ ๋Œ€ํญ ํ–ฅ์ƒ๋จ.

 

 

05-3. HTTP ํ—ค๋”์™€ HTTP ๊ธฐ๋ฐ˜ ๊ธฐ์ˆ 

 

1. HTTP ํ—ค๋”

1) ์š”์ฒญ ์‹œ ํ™œ์šฉ๋˜๋Š” HTTP ํ—ค๋”

- Host: ์š”์ฒญ์„ ๋ณด๋‚ผ ํ˜ธ์ŠคํŠธ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ—ค๋”. ๋„๋ฉ”์ธ ๋„ค์ž„์œผ๋กœ ๋ช…์‹œ ๋จ.

GET /hypertext/WWW/TheProject.html HTTP/1.1
Host: info.cern.ch

 

- User-Agent: HTTP ์š”์ฒญ์„ ์‹œ์ž‘ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก์˜ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ด€๋ จ๋œ ์ •๋ณด ๋ช…์‹œ.

User-Agent: Mozilla/5.0 (Windows NT 10.0; win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0

 

- Referer: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ๋จธ๋ฌด๋ฅด๊ณ  ์žˆ๋˜ URL์ด ๋ช…์‹œ ๋จ. ํด๋ผ์ด์–ธํŠธ์˜ ์œ ์ž… ๊ฒฝ๋กœ ํŒŒ์•… ๊ฐ€๋Šฅ

Referer: https://en.wikipedia.org/

 

- Authorization: ํด๋ผ์ด์–ธํŠธ์˜ ์ธ์ฆ ์ •๋ณด ๋ช…์‹œ. Basic ์ธ์ฆ(Base64 ๋กœ ์ธ์ฝ”๋”ฉํ•œ ๊ฐ’์„ ๋ช…์‹œํ•จ.), Bearer ์ธ์ฆ(OAuth ์ธ์ฆ)

Basic ์ธ์ฆ๊ณผ Bearer ์ธ์ฆ์˜ ๋ชจ๋“  ๊ฒƒ

Authorization: Basic bWluY2h1bDoxMjM0

 

Authorization: Bearer <token ๊ฐ’>

 

2) ์‘๋‹ต ์‹œ ์‚ฌ์šฉ๋˜๋Š” HTTP ํ—ค๋”

- Server: ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์„œ๋ฒ„ ์ธก์˜ ์†Œํ”„ํŠธ์›จ์–ด์™€ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ๋ช…์‹œ

Server: Apache/2.4.1 (Unix)

 

- Allow: ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ํ—ˆ์šฉ๋œ HTTP ๋ฉ”์„œ๋“œ ๋ชฉ๋ก์„ ๋ช…์‹œ. 405(Method Not Allowed) ์ƒํƒœ ์ฝ”๋“œ์—์„œ ์‘๋‹ตํ•˜๋Š” ๋ฉ”์‹œ์ง€์— Allow ํ—ค๋”๊ฐ€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋จ.

Allow: POST, OPTIONS

 

- Retry-After: ์ž์›์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ ์งœ ํ˜น์€ ์‹œ๊ฐ์„ ๋‚˜ํƒ€๋ƒ„. 503(Service Unavailable) ์ƒํƒœ ์ฝ”๋“œ์—์„œ ์‘๋‹ตํ•˜๋Š” ๋ฉ”์‹œ์ง€์— Retry-After ํ—ค๋”๊ฐ€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋จ.

Retry-After: Fri, 23 Aug 2024 09:00:00 GMT
Retry-After: 120

 

- Location: ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ž์›์˜ ์œ„์น˜๋ฅผ ์•Œ๋ ค ์ฃผ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ—ค๋”

 

- WWW-Authorization: ์ž์›์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ธ์ฆ ๋ฐฉ์‹์„ ์„ค๋ช…ํ•˜๋Š” ํ—ค๋”. 

WWW-Authorization: Basic realm="Access to engineering site", charset="UTF-8"

 

 

3) ์š”์ฒญ ๋ฐ ์‘๋‹ต ๋ชจ๋‘์—์„œ ์‚ฌ์šฉ๋˜๋Š” HTTP ํ—ค๋”

-Date: ๋ฉ”์‹œ์ง€๊ฐ€ ์ƒ์„ฑ๋œ ๋‚ ์งœ์™€ ์‹œ๊ฐ์— ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ๋‹ด์€ ํ—ค๋”.

Date: Tue, 15 Nov 1994 08:12:31 GMT

 

- Connection: ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ๊ณผ ์‘๋‹ต ๊ฐ„์˜ ์—ฐ๊ฒฐ ๋ฐฉ์‹์„ ์„ค์ •ํ•˜๋Š” ํ—ค๋”

Connection: keep-alive
Connection: close

 

- Content-Length: ๋ณธ๋ฌธ์˜ ๋ฐ”์ดํŠธ ๋‹จ์œ„ ํฌ๊ธฐ(๊ธธ์ด)

Content-Length: 100

 

- Content-Type, Content-Language, Content-Encoding: ๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ์˜ ํ‘œํ˜„ ๋ฐฉ์‹

Content-Type: text/html; charset=UTF-8
Content-Encoding: gzip

 

 

* ์บ์‹œ

: ๋ถˆํ•„์š”ํ•œ ๋Œ€์—ญํญ ๋‚ญ๋น„์™€ ์‘๋‹ต ์ง€์—ฐ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ •๋ณด์˜ ์‚ฌ๋ณธ์„ ์ž„์‹œ๋กœ ์ €์žฅํ•˜๋Š” ๊ธฐ์ˆ 

 

* ์บ์‹œ ์‹ ์„ ๋„

์บ์‹œ๋œ ์‚ฌ๋ณธ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ตœ์‹  ์›๋ณธ ๋ฐ์ดํ„ฐ์™€ ์œ ์‚ฌํ•œ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •๋„

 

1) ์บ์‹œ๋œ ๋ฐ์ดํ„ฐ์— ์œ ํšจ ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

Expires: <๋‚ ์งœ>

Cache-Control: max-age=<์ดˆ>

 

2) ์บ์‹œ์˜ ์œ ํšจ ๊ธฐ๊ฐ„์ด ๋งŒ๋ฃŒ๋˜์—ˆ๋”๋ผ๋„ ์—ฌ์ „ํžˆ ์ตœ์‹  ์ƒํƒœ์˜ ์ •๋ณด์ธ์ง€ ํ™•์ธ

์š”์ฒญ: If-Modifed-Since: <๋‚ ์งœ>

์‘๋‹ต: ์š”์ฒญ๋ฐ›์€ ์ž์›์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Œ(200(OK)), ์š”์ฒญ๋ฐ›์€ ์ž์›์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์Œ(304(Not Modified)), ์š”์ฒญ๋ฐ›์€ ์ž์›์ด ์‚ญ์ œ๋˜์—ˆ์Œ(404(Not Found))

 

3) ์ž์›์˜ ๋ฒ„์ „์œผ๋กœ ์š”์ฒญํ•˜๊ธฐ

์š”์ฒญ: If-None-Match: <์—”ํ‹ฐํ‹ฐ ํƒœ๊ทธ>

์‘๋‹ต: ์š”์ฒญ๋ฐ›์€ ์ž์›์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Œ(200(OK)), ์š”์ฒญ๋ฐ›์€ ์ž์›์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์Œ(304(Not Modified)), ์š”์ฒญ๋ฐ›์€ ์ž์›์ด ์‚ญ์ œ๋˜์—ˆ์Œ(404(Not Found))

 

 

* ์ฟ ํ‚ค

: ์„œ๋ฒ„์—์„œ ์ƒ์„ฑ๋˜์–ด ํด๋ผ์ด์–ธํŠธ ์ธก์— ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ.

์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” HTTP ์˜ ํŠน์„ฑ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ.

<์ด๋ฆ„, ๊ฐ’> ์Œ์˜ ํ˜•ํƒœ.

ex) Session ์ธ์ฆ

์ฟ ํ‚ค์— ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๋„๋ฉ”์ธ, ๊ฒฝ๋กœ๋„ ํ•จ๊ป˜ ์ €์žฅ๋œ๋‹ค.

 

์š”์ฒญ ๋ฉ”์‹œ์ง€

Cookie: ์ด๋ฆ„=๊ฐ’; ์ด๋ฆ„=๊ฐ’;

 

์‘๋‹ต ๋ฉ”์‹œ์ง€

HTTP/1.1 200 OK

Content-Type: text/html

Set-Cookie: name=minchul; phone=100-100; message=Hello; Expires=Fri, 23 Aug 2024 09:00:00 GMT

 

* ์ฟ ํ‚ค ๋ณด์•ˆ

Secure: HTTPS ํ”„๋กœํ† ์ฝœ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์ฟ ํ‚ค๋ฅผ ์ „์†ก๋˜๋„๋ก ํ•˜๋Š” ์†์„ฑ

HttpOnly: HTTP ์†ก์ˆ˜์‹ ์„ ํ†ตํ•ด์„œ๋งŒ ์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•˜๋„๋ก ์ œํ•œํ•˜๋Š” ์†์„ฑ

 

* ์ฟ ํ‚ค์˜ ํ˜‘์ƒ๊ณผ ํ‘œํ˜„

: ๊ฐ™์€ URI ์— ๋Œ€ํ•ด ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์ž์›์˜ ํ˜•ํƒœ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋งค์ปค๋‹ˆ์ฆ˜

Accept-Language, Accept-Charset, Accept-Encoding ๋“ฑ์œผ๋กœ ์„ ํ˜ธํ•˜๋Š” ์ž์›์„ ๋ช…์‹œํ•ด์„œ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋‹ค.

728x90