π Reference
λͺ¨λ κ°λ°μλ₯Ό μν HTTP μΉ κΈ°λ³Έ μ§μ
π’ λͺ¨λ κ²μ΄ HTTP
β’ HTML, TEXT
β’ IMAGE, μμ±, μμ, νμΌ
β’ JSON, XML (API)
β’ κ±°μ λͺ¨λ ννμ λ°μ΄ν° μ μ‘ κ°λ₯
β’ μλ²κ°μ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°μ λλ λλΆλΆ HTTP μ¬μ©
β’ μ§κΈμ HTTP μλ!
π’ HTTP μμ¬
β’ HTTP/0.9 1991λ
: GET λ©μλλ§ μ§μ, HTTP ν€λX
β’ HTTP/1.0 1996λ
: λ©μλ, ν€λ μΆκ°
β’ HTTP/1.1 1997λ
: κ°μ₯ λ§μ΄ μ¬μ©, μ°λ¦¬μκ² κ°μ₯ μ€μν λ²μ
β’ RFC2068 (1997) -> RFC2616 (1999) -> RFC7230~7235 (2014)
β’ HTTP/2 2015λ
: μ±λ₯ κ°μ
β’ HTTP/3 μ§νμ€: TCP λμ μ UDP μ¬μ©, μ±λ₯ κ°μ
π’ κΈ°λ° νλ‘ν μ½
β’ TCP: HTTP/1.1, HTTP/2
β’ UDP: HTTP/3
β’ νμ¬ HTTP/1.1 μ£Όλ‘ μ¬μ©
β’ HTTP/2, HTTP/3 λ μ μ μ¦κ°
<HTTP νΉμ§>
β’ ν΄λΌμ΄μΈνΈ μλ² κ΅¬μ‘°
⒠무μν νλ‘ν μ½(μ€ν
μ΄μ€λ¦¬μ€), λΉμ°κ²°μ±
β’ HTTP λ©μμ§
β’ λ¨μν¨, νμ₯ κ°λ₯
π’ ν΄λΌμ΄μΈνΈ μλ² κ΅¬μ‘°

⒠Request Response ꡬ쑰
β’ ν΄λΌμ΄μΈνΈλ μλ²μ μμ²μ 보λ΄κ³ , μλ΅μ λκΈ°
β’ μλ²κ° μμ²μ λν κ²°κ³Όλ₯Ό λ§λ€μ΄μ μλ΅
ν΄λΌμ΄μΈνΈμ μλ²λ₯Ό κ°λ
μ μΌλ‘ λΆλ¦¬
μλ² : λΉμ¦λμ€ λ‘μ§κ³Ό λ°μ΄ν° μ§μ€
ν΄λΌμ΄μΈνΈ : UIμ μ¬μ©μ±μ μ§μ€
λ
립μ μΌλ‘ μ§ν
π’ 무μν νλ‘ν μ½(Stateless)
- μλ²κ° ν΄λΌμ΄μΈνΈμ μνλ₯Ό 보쑴νμ§ μλλ€
- μ₯μ : μλ² νμ₯μ±μ΄ λμ(μ€μΌμΌ μμ) / κ°μκΈ° ν΄λΌμ΄μΈνΈ μμ²μ΄ μ¦κ°ν΄λ μλ²λ₯Ό λκ±° ν¬μ
κ°λ₯
- λ¨μ : ν΄λΌμ΄μΈνΈκ° μΆκ° λ°μ΄ν° μ μ‘





Stateless μ€λ¬΄ νκ³
- λͺ¨λ κ²μ 무μνλ‘ μ€κ³ ν μ μλ κ²½μ°λ μκ³ μλ κ²½μ°λ μλ€.
- 무μν
ex) λ‘κ·ΈμΈμ΄ νμ μλ λ¨μν μλΉμ€ μκ° νλ©΄
- μν μ μ§
ex) λ‘κ·ΈμΈ
- λ‘κ·ΈμΈν μ¬μ©μμ κ²½μ° λ‘κ·ΈμΈ νλ€λ μνλ₯Ό μλ²μ μ μ§
- μΌλ°μ μΌλ‘ λΈλΌμ°μ μΏ ν€μ μλ² μΈμ
λ±μ μ¬μ©ν΄μ μν μ μ§
- μν μ μ§λ μ΅μνλ§ μ¬μ©
- 무μνλ μμ² λ°μ΄ν°λ₯Ό ν¨μ¬ λ§μ΄ λ€λ£¬λ€λ λ¨μ λ μ‘΄μ¬
νμ§λ§ 무μνμ μ₯μ μ΄ ν¨μ¬ ν¬κΈ° λλ¬Έμ μ΅λν Statelessλ‘ μ€κ³ν΄μΌ ν¨!!
π’ λΉ μ°κ²°μ±(Connectionless)
- μ°κ²°μ μ μ§νλ λͺ¨λΈμ μλ‘μ΄ ν΄λΌμ΄μΈνΈ μμ²μ΄ λ€μ΄μλ μ΄μ μ μ°κ²°λμ΄ μλ μλ²μ μ°κ²°μ λμ§μκ³ κ³μ μ μ§νλ€. -> μλ² μμ μλͺ¨
- μ°κ²°μ μ μ§νμ§ μλ λͺ¨λΈμ μλ²κ° ν΄λΌμ΄μΈνΈμ μμ²μ μλ΅νκ³ TCP/IP μ°κ²°μ μ’
λ£νλ€. -> μ΅μνμ μμ μ¬μ©
λΉ μ°κ²°μ± νΉμ§
- HTTPλ κΈ°λ³Έμ΄ μ°κ²°μ μ μ§νμ§ μλ λͺ¨λΈ
- μΌλ°μ μΌλ‘ μ΄ λ¨μμ μ΄νμ λΉ λ₯Έ μλλ‘ μλ΅
- 1μκ° λμ μμ²λͺ
μ΄ μλΉμ€λ₯Ό μ¬μ©ν΄λ μ€μ μλ²μμ λμμ μ²λ¦¬νλ μμ²μ μμκ° μ΄νλ‘ λ§€μ° μμ
μ) μΉ λΈλΌμ°μ μμ κ³μ μ°μν΄μ κ²μ λ²νΌμ λλ₯΄μ§λ μλλ€.
- μλ² μμμ λ§€μ° ν¨μ¨μ μΌλ‘ μ¬μ©ν μ μμ
λΉ μ°κ²°μ± νκ³μ 극볡
- TCP/IP μ°κ²°μ μλ‘ λ§Ίμ΄μΌ ν¨ - *3 way handshake μκ° μΆκ°
- μΉ λΈλΌμ°μ λ‘ μ¬μ΄νΈλ₯Ό μμ²νλ©΄ HTML λΏλ§ μλλΌ μλ°μ€ν¬λ¦½νΈ, css, μΆκ° μ΄λ―Έμ§ λ± μ λ§μ μμμ΄ ν¨κ» λ€μ΄λ‘λ
- μ§κΈμ HTTP μ§μ μ°κ²°(Persistent Connections)λ‘ λ¬Έμ ν΄κ²°
- HTTP/2, HTTP/3μμ λ λ§μ μ΅μ ν
TCP 3-way Handshake λ?
TCP/IPνλ‘ν μ½μ μ΄μ©ν΄μ ν΅μ μ νλ μμ©νλ‘κ·Έλ¨μ΄ λ°μ΄ν°λ₯Ό μ μ‘νκΈ° μ μ
λ¨Όμ μ νν μ μ‘μ 보μ₯νκΈ° μν΄ μλλ°© μ»΄ν¨ν°μ μ¬μ μ μΈμ
μ μ립νλ κ³Όμ μ μλ―Ένλ€.


π’ HTTP λ©μμ§

κ°μλ₯Ό λ³΄μ§ μμμ§λ§ λλΆμ λ€ λ³Έ κ² κ°μ λλμ λλ€. (μ λ¦¬κ° κΉλ+_+) κ°μ¬ν©λλ€~~