[CS] ๐Ÿ”ฅ HTTP & URL

Kledยท2023๋…„ 3์›” 30์ผ
0

[CS]

๋ชฉ๋ก ๋ณด๊ธฐ
2/7
post-thumbnail

HTTP๋ž€?

HTTP๋Š” HyperText Transfer Protocol์˜ ์•ฝ์ž๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•ด ์ •์˜ํ•œ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

์›น์„ ๊ธฐ์ค€์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„ ๊ฐ„์— HTML ๋ฌธ์„œ์™€ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค๋“ค์„ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ ๋ฐฉ์‹์œผ๋กœ HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•œ๋‹ค.

HTTP๋Š” ์›น์—์„œ ์ด๋ฃจ์–ด์ง€๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๊ตํ™˜์˜ ๊ธฐ์ดˆ์ด๋ฉฐ, ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ํ”„๋กœํ† ์ฝœ์ด๊ธฐ๋„ ํ•˜๋‹ค

๋” ์ž์„ธํžˆ



HTTP ํ”„๋กœํ† ์ฝœ์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง•

HTTP ํ”„๋กœํ† ์ฝœ์€ stateless ํ”„๋กœํ† ์ฝœ์ด๋‹ค.
์—ฌ๊ธฐ์„œ stateless๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ ์š”์ฒญ์ด ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ๊ด€๋ฆฌ๊ฐ€ ๋œ๋‹ค๋Š” ๋œป์ด๋‹ค.
์ด์ „์— ๋ณด๋ƒˆ๋˜ ๋ฐ์ดํ„ฐ ์š”์ฒญ๊ณผ ๋‹ค์Œ์— ๋ณด๋‚ผ ๋ฐ์ดํ„ฐ ์š”์ฒญ์ด ์„œ๋กœ ๊ด€๋ จ์ด ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
์ด๋Ÿฌํ•œ HTTP์˜ ํŠน์ง• ๋•๋ถ„์— ์„œ๋ฒ„๋Š” ์„ธ์…˜๊ณผ ๊ฐ™์€ ๋ณ„๋„์˜ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ณ , ๋‹ค์ˆ˜์˜ ์š”์ฒญ ์ฒ˜๋ฆฌ ๋ฐ ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ์„ฑ๋Šฅ ์ƒ์˜ ์ด์ ์ด ์ƒ๊ธด๋‹ค.

  • HTTP ํ”„๋กœํ† ์ฝœ์€ ์ผ๋ฐ˜์ ์œผ๋กœ TCP/IP ํ†ต์‹  ์œ„์—์„œ ๋™์ž‘ํ•˜๋ฉฐ, ๊ธฐ๋ณธ ํฌํŠธ๋Š” 80๋ฒˆ์ด๋‹ค.

TCP/IP?



URL

URL(Uniform Resource Locators)์€ ์„œ๋ฒ„์— ์ž์›(resource)๋ฅผ ์š”์ฒญํ•˜๊ธฐ ์œ„ํ•ด ์ž…๋ ฅํ•˜๋Š” ์˜๋ฌธ ์ฃผ์†Œ์ด๋‹ค.
์ˆซ์ž๋กœ ๋˜์–ด์žˆ๋Š” IP์ฃผ์†Œ๋ณด๋‹ค๋Š” ํ›จ์”ฌ ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฝ๊ณ , ๊ฐ€๋…์„ฑ์ด ์ข‹๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.
๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์ด๋ ‡๊ฒŒ URL๋กœ ๋˜์–ด์žˆ๋Š” HTTP ์š”์ฒญ์„ DNS(Domain Name System)๋ฅผ ํ†ตํ•ด host์— ํ•ด๋‹นํ•˜๋Š” ์‹ค์ œ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์„œ๋ฒ„์— ์š”์ฒญ(Request)์„ ๋ณด๋‚ธ๋‹ค.

URL์˜ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.



HTTP/1.1๊ณผ HTTP/2.0

HTTP/1.1

  • ๋‹จ์ผ ์š”์ฒญ ๋‹จ์ผ ์‘๋‹ต

    HTTP/1.1์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ปค๋„ฅ์…˜ ๋‹น ํ•˜๋‚˜์˜ ์š”์ฒญ๊ณผ ์‘๋‹ต๋งŒ ์ฒ˜๋ฆฌํ•œ๋‹ค.
    ์ฆ‰, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์š”์ฒญ์„ ํ•œ ๋ฒˆ์— ์ „์†กํ•  ์ˆ˜ ์—†๊ณ  ์‘๋‹ต ๋˜ํ•œ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค.
    ๋”ฐ๋ผ์„œ HTML ๋ฌธ์„œ ๋‚ด์— ํฌํ•จ๋œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฆฌ์†Œ์Šค ์š”์ฒญ, ์ฆ‰ CSS ํŒŒ์ผ์„ ๋กœ๋“œํ•˜๋Š” link ํƒœ๊ทธ, ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ๋กœ๋“œํ•˜๋Š” img ํƒœ๊ทธ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋กœ๋“œํ•˜๋Š” script ํƒœ๊ทธ ๋“ฑ์— ์˜ํ•œ ๋ฆฌ์†Œ์Šค ์š”์ฒญ์ด ๊ฐœ๋ณ„์ ์œผ๋กœ ์ „์†ก๋˜๊ณ  ์‘๋‹ต ๋˜ํ•œ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ „์†ก๋œ๋‹ค.

  • ์‘๋‹ต์‹œ๊ฐ„ ์ฆ๊ฐ€

    ์ด์ฒ˜๋Ÿผ HTTP/1.1์€ ์š”์ฒญ๊ณผ ์‘๋‹ต์ด ์ˆœ์ฐจ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ๋ฆฌ์†Œ์Šค์˜ ๋™์‹œ ์ „์†ก์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ์ด๋ฏ€๋กœ ์š”์ฒญํ•  ๋ฆฌ์†Œ์Šค์˜ ๊ฐœ์ˆ˜์— ๋น„๋ก€ํ•˜์—ฌ ์‘๋‹ต ์‹œ๊ฐ„๋„ ์ฆ๊ฐ€ํ•˜๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

  • ํ—ค๋” ํฌ๊ธฐ ์ฆ๊ฐ€

    ๋˜ํ•œ ๋งค ์š”์ฒญ๋งˆ๋‹ค ์ค‘๋ณต๋œ ํ—ค๋” ๊ฐ’์„ ์ „์†กํ•˜๊ฒŒ ๋˜๋ฉฐ, ์„œ๋ฒ„ ๋„๋ฉ”์ธ์— ๊ด€๋ จ๋œ ์ฟ ํ‚ค ์ •๋ณด๋„ ํ—ค๋”์— ํ•จ๊ป˜ ํฌํ•จ๋˜์–ด ์ „์†ก๋œ๋‹ค. ์ด๋กœ ์ธํ•œ ๋ฐ˜๋ณต์ ์ธ ํ—ค๋” ์ „์†ก, ์ฟ ํ‚ค ์ •๋ณด๋กœ ์ธํ•ด ํ—ค๋” ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค.

HTTP/2.0

๋‹ค์ค‘ ์š”์ฒญ ๋‹ค์ค‘ ์‘๋‹ต

HTTP/2.0์€ ๋‹ค์ค‘ ์š”์ฒญ๊ณผ ๋‹ค์ค‘ ์‘๋‹ต๋งŒ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
์—ฌ๋Ÿฌ ๋ฆฌ์†Œ์Šค์˜ ๋™์‹œ ์ „์†ก์ด ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ HTTP/1.1์— ๋น„ํ•ด ํŽ˜์ด์ง€ ๋กœ๋“œ ์†๋„๊ฐ€ ์•ฝ 50% ์ •๋„ ๋น ๋ฅด๋‹ค๊ณ  ์•Œ๋ ค์ ธ ์žˆ๋‹ค. ์‘๋‹ต์€ ์ˆœ์„œ์— ์ƒ๊ด€์—†์ด stream์œผ๋กœ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค.


ํ—ค๋” ์••์ถ•

HTTP/1.1์˜ ๊ฒฝ์šฐ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ๋‘ ๋ฒˆ ๋ณด๋ƒˆ์„ ๋•Œ ํ—ค๋” ์ค‘๋ณต์ด ๋ฐœ์ƒํ•ด๋„ ์ค‘๋ณต ์ „์†ก์„ ํ•˜๋Š” ๋‹จ์ ์„ ๊ฐ€์กŒ๋‹ค. ํ•˜์ง€๋งŒ HTTP/2.0์˜ ๊ฒฝ์šฐ ํ—ค๋”์— ์ค‘๋ณต์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ค‘๋ณต์„ ๊ฒ€์ถœํ•ด๋‚ด๊ณ , ํ•ด๋‹น ํ…Œ์ด๋ธ”์—์„œ์˜ ์ธ๋ฑ์Šค ๊ฐ’๊ณผ ์ค‘๋ณต๋˜์ง€ ์•Š์€ ํ—ค๋” ์ •๋ณด๋ฅผ ์ธ์ฝ”๋”ฉํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค.

profile
๊ณต๋ถ€ํ•˜๋Š” ๋Œ๋ฉฉ์ด ๐Ÿชจ

0๊ฐœ์˜ ๋Œ“๊ธ€