π[Network] HTTP ν΅μ μ΄λ?
HTTP(HyperText Transfer Protocol) ν΅μ μ μλ μμ΄λ μΉ(World Wide Web)μμ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°λ λ° μ¬μ©λλ μ£Όμ νλ‘ν μ½μ
λλ€.
μ΄ νλ‘ν μ½μ μΉ μλ²μ ν΄λΌμ΄μΈνΈ(λκ² μΉ λΈλΌμ°μ )κ°μ ν΅μ μ μν΄ μ€κ³λμμ΅λλ€.
π HTTP ν΅μ μ μ£Όμ νΉμ§.
1. ν΄λΌμ΄μΈνΈ-μλ² λͺ¨λΈ : HTTPλ ν΄λΌμ΄μΈνΈ-μλ² λͺ¨λΈμ λ°λ¦
λλ€.
ν΄λΌμ΄μΈνΈ(μ: μΉ λΈλΌμ°μ )λ μλ²μ μμ²(Request)μ 보λ΄κ³ , μλ²λ μ΄μ λν μλ΅(Response)μ λ°νν©λλ€.
2. 무μνμ±(Stateless) : HTTPλ 무μν νλ‘ν μ½μ
λλ€.
μ¦, κ° μμ²μ λ
립μ μ΄λ©°, μλ²λ μ΄μ μμ²μ λν μ 보λ₯Ό μ μ₯νμ§ μμ΅λλ€.
μ΄λ ν΅μ μ λ¨μννμ§λ§, μΈμ
κ΄λ¦¬λ₯Ό μν΄ μΏ κΈ°μ κ°μ λ©μ»€λμ¦μ μ¬μ©ν΄μΌ ν©λλ€
3. HTTP λ©μλ : HTTPλ λ€μν λ©μλ(GET, POST, PUT, DELETE λ±)λ₯Ό μ¬μ©νμ¬ λ¦¬μλ(μΉ νμ΄μ§, μ΄λ―Έμ§, νμΌ λ±)μ λν λ€μν μμ
μ μνν μ μμ΅λλ€.
4. νμ₯ κ°λ₯ : HTTP ν€λλ₯Ό ν΅ν΄ νλ‘ν μ½μ νμ₯ν μ μμ΅λλ€.
μ΄λ₯Ό ν΅ν΄ λ©νλ°μ΄ν°, μΊμ± μ μ±
, μΈμ¦ μ 보 λ±μ μ μ‘ν μ μμ΅λλ€.
π HTTP μλ μ리.
1. μμ² μμ : μ¬μ©μκ° μΉ λΈλΌμ°μ μμ URLμ μ
λ ₯νκ±°λ λ§ν¬λ₯Ό ν΄λ¦νλ©΄ HTTP μμ²μ΄ μμλ©λλ€.
2. μλ²λ‘μ μμ² μ μ‘ : μΉ λΈλΌμ°μ λ ν΄λΉ μλ²μ μ£Όμλ₯Ό μ°Ύκ³ (λλ©μΈ μ΄λ¦ μμ€ν
μ ν΅ν΄ IP μ£Όμλ₯Ό νμΈ)ν΄λΉ μλ²μ μ°κ²°νμ¬ HTTP μμ²μ μ μ‘ν©λλ€.
3. μλ² μ²λ¦¬ λ° μλ΅ : μΉ μλ²λ μμ²μ λ°κ³ μ²λ¦¬ν λ€, μμ²λ 리μμ€(HTML νμ΄μ§, μ΄λ―Έμ§, νμΌ λ±) λλ μ€λ₯ λ©μμ§, 리λλ μ
μ 보 λ±μ ν¬ν¨νλ HTTP μλ΅μ 보λ
λλ€.
4. μ½ν
μΈ λ λλ§ : ν΄λΌμ΄μΈνΈ(μΉ λΈλΌμ°μ )λ μλ΅μ λ°κ³ , κ·Έ λ΄μ©μ ν΄μνμ¬ μ¬μ©μμκ² νμν©λλ€. μλ₯Ό λ€μ΄, HTML λ¬Έμκ° λ°νλλ©΄ λΈλΌμ°μ λ μ΄λ₯Ό νμ±νμ¬ νλ©΄μ μΉ νμ΄μ§λ‘ λ λλ§ν©λλ€.
5. μ°κ²° μ’
λ£ : ν΅μ μ΄ μλ£λλ©΄ TCP μ°κ²°μ΄ μ’
λ£λ©λλ€.
HTTP/1.1μμλ μ§μ μ°κ²°(keep-alive)μ ν΅ν΄ μ¬λ¬ μμ²κ³Ό μλ΅μ κ°μ μ°κ²°λ‘ μ²λ¦¬ν μ μμ΅λλ€.
π HTTP λ²μ .
HTTP/1.x : κ°μ₯ λ리 μ¬μ©λλ λ²μ μΌλ‘, κ° μμ²/μλ΅λ§λ€ λ³λμ μ°κ²°μ λ§Ίμ΅λλ€(HTTP/1.0) λλ μ§μ μ°κ²°μ μ¬μ©ν©λλ€(HTTP/1.1)
HTTP/2 : μ±λ₯ ν₯μμ μν΄ λμ
λ λ²μ μΌλ‘, μ¬λ¬ μμ²μ λμμ νλμ μ°κ²°λ‘ μ²λ¦¬ν μ μλ λ©ν°νλ μ±, ν€λ μμΆ λ±μ κΈ°λ₯μ μ 곡ν©λλ€.
HTTP/3 : μ΅μ λ²μ μΌλ‘, UDP κΈ°λ°μ QUIC νλ‘ν μ½μ μ¬μ©νμ¬ μ°κ²°μ μ€μ μκ°μ λ¨μΆνκ³ , ν¨ν· μμ€μ λ κ°ν μ±λ₯μ 보μ
λλ€
HTTP ν΅μ μ μΉμ κΈ°λ³Έμ μΈ λμ λ°©μμ μ μνλ©°, νλ μΈν°λ·μμ κ°μ₯ μ€μν νλ‘ν μ½ μ€ νλμ λλ€.