π HTTP 0.9 ~ HTTP 1.1 κΉμ§ μμ보λ ν΅μ κΈ°μ
HTTP / 0.9
HTTPμ μμμ 1989λ ν λ²λ 리(Tim Berners-LEE)μ μν΄ μ μλ μΈν°λ·μ νμ΄νΌ ν μ€νΈ μμ€ν μ΄λ€.
μ΄κΈ° λ²μ μΈ HTTP/0.9λ λ§€μ° λ¨μν νλ‘ν μ½μ΄μλ€.
κ°λ₯ν λ©μλλ νμ΄νΌν μ€νΈ λ¬Έμ(html)λ₯Ό κ°μ Έμ€κΈ°λ§ νλ GET λμμ΄ μ μΌνμΌλ©°, ν€λ(header)λ μμ΄ μμ²κ³Ό μλ΅μ΄ κ·Ήν λ¨μ λͺ λ£ νμλ€. λν μν μ½λ(status code)λ μμκΈ° λλ¬Έμ λ¬Έμ κ° λ°μν κ²½μ° νΉμ html νμΌμ μ€λ₯μ λν μ€λͺ κ³Ό ν¨κ» 보λ΄μ‘λ€.
<HTML>
A very simple HTML page
</HTML>
HTTP 0.9 μ€νμ μμ½νλ©΄ λ€μκ³Ό κ°λ€.
- TCP/IP λ§ν¬ μμμ λμνλ ASCII νλ‘ν μ½
- Get λ©μλλ§ μ§μ
- HTTP ν€λ X, μν μ½λ X
- μλ΅λ HTML νμΌ μμ²΄λ§ λ³΄λ΄μ€
- μλ²μ ν΄λΌμ΄μΈνΈ κ°μ μ°κ²°μ λͺ¨λ μμ² νμ λ«ν(closed)
μ¬μ€ μ΄κΈ°μλ λ²μ λ²νΈκ° μ‘΄μ¬νμ§ μμμ§λ§, μ΄νμ λ€λ₯Έ http λ²μ λ€κ³Ό ꡬλΆνκΈ° μν΄μ 0.9λΌλ λ²μ μ λΆμ΄κ² λμλ€κ³ νλ€.
HTTPλ μ΄λ¬ν λΉκ΅μ λ¨μν ννλ‘ 1991λ μ μμλμ΄, μ΄ν λΉ λ₯΄κ² μ§ννκ³ λ°μ νκ² λμ΄μ§κΈ° μμ νλ€.
HTTP / 1.0
μΈν°λ·μ μ±μ₯μ΄ λ μ΄ κ°μλ‘ κ±°λν΄μ§λ©΄μ, 1994λ W3Cκ° λ§λ€μ΄μ§λ©° HTMLμ λ°μ μ λλͺ¨νκ² λμκ³ , μ΄μ λΉμ·νκ² HTTP νλ‘ν μ½ κ°μ μ μ΄μ μ λ§μΆκΈ° μν΄ HTTP-WG(HTTP Working Group)κ° μ€λ¦½λμλ€.
μΉ λΈλΌμ°μ , μΈν°λ· μΈνλΌκ° λΉ λ₯΄κ² μ§ννλ©° μ΄μ λ λ¨μν νμ΄νΌν μ€νΈ λ¬Έμ λΏλ§ μλλΌ λ©ν°λ―Έλμ΄ λ°μ΄ν°λ λ©νλ°μ΄ν° λ± λ€μνκ³ μμΈν 컨ν μΈ κ° νμν΄μ§μΌλ‘μ¨, κΈ°μ‘΄μ HTTP 0.9λ‘λ λ€μν μꡬμ¬νλ€μ μ±μΈμ μλ νκ³μ λ΄μ°©νκ² λμλ€.
κ·Έλ¬λ€ 1996λ HTTP-WGλ HTTP/1.0 ꡬνμ μΌλ°μ μΈ μ¬μ©μ λ¬Έμνν RFC 1945λ₯Ό λ°ννκ² λλ€.
RFC 1945λ μ΄λ ΅κ² μκ°ν νμμμ΄ HTTP 1.0 νλ‘ν μ½ ν΅μ μ€νμ κ΄ν κΈ°μ λ¬Έμ μ λλ‘ μκ°νλ©΄ λλ€.
컨ν μΈ μΈμ½λ©, λ€μν κΈμ μ§μ, λ©ν°ννΈ νμ , μΈκ°, μΊμ±, νλ‘μ, λ μ§ νμ λ±μ λ¬Έμν νμλ€.
μ΄λ λ€μκ³Ό κ°μ μ΅μν ννμ μμ²κ³Ό μλ΅ ν¬λ§·μΌλ‘ ꡬμ±λμλ€.
Request λ©μΈμ§μλ GET μμ²μ΄ μμλλ μ€μ PATHμ HTTP λ²μ Ό κ·Έλ¦¬κ³ λ€μ μ€λ‘ μ΄μ΄μ§λ ν€λκ°μ κ°μ§λ©°, Response λ©μΈμ§μλ 200 OK μ΄ν μλ΅ μνλ‘ μ΄μ΄μ§λ μλ΅ ν€λκ°μ κ°μ§λ κ±Έ λ³Ό μ μλ€.
μ΄λ₯Έλ° HTTP ν¬λ§· ννμ μμ΄λΌκ³ 보면 λλ€.
μ΄λ κ² λ°νλ HTTP 1.0 μ€νμ μμ½νλ©΄ λ€μκ³Ό κ°λ€.
- κΈ°λ³Έμ μΈ HTTP λ©μλμ μμ²/μλ΅ ν€λ μΆκ°
- HTTP λ²μ μ λ³΄κ° κ° μμ² μ¬μ΄λ΄λ‘ μ μ‘λκΈ° μμ (HTTP/1.0 μ΄ GET λΌμΈμ λΆμ ννλ‘)
- μν μ½λ(status code)κ° μλ΅μ μμ λΆλΆμ λΆμ΄ μ μ‘λμ΄, λΈλΌμ°μ κ° μμ²μ λν μ±κ³΅κ³Ό μ€ν¨λ₯Ό μ μ μκ³ κ·Έ κ²°κ³Όμ λν λμμ ν μ μκ² λμλ€. (νΉμ λ°©λ²μΌλ‘ λ‘컬 μΊμλ₯Ό κ°±μ νκ±°λ ..λ±)
- μλ΅ ν€λμ Content-Type λλΆμ HTML νμΌ νμ μΈμ λ€λ₯Έ λ¬Έμλ€μ μ μ‘νλ κΈ°λ₯μ΄ μΆκ°λμλ€.
- λ¨κΈ°μ»€λ₯μ : connection νλλΉ 1 Request & 1 Response μ²λ¦¬ κ°λ₯
HTTP 1.0 λ¬Έμ μ
Short-lived Connection
HTTP 1.0μ λ¬Έμ μ μ λΉμ°κ²°μ±(connectionless)λ‘ μΈν λ¨κΈ° 컀λ₯μ (Short-lived connenction) νΉμ§μ΄λ€.
μ¦, 컀λ₯μ νλλΉ νλμ μμ² νλμ μλ΅ μ²λ¦¬κ° κ°λ₯ν κ²μ λ§νλλ°, μλ²μ μμμ μμ²ν λλ§λ€ λ§€λ² μλ‘μ΄ μ°κ²°μ ν΄μ£Όμ΄μΌ νλ€.
- 1 Request & 1 response
- λ§€λ² μλ‘μ΄ μ°κ²°λ‘ μ±λ₯ μ ν
- λ§€λ² μλ‘μ΄ μ°κ²°λ‘ μλ² λΆν λΉμ© μ¦κ°
μλ₯Όλ€μ΄ μΉνμ΄μ§λ₯Ό μμ²νλ©΄ htmlκ³Ό κ·Έμ λΈλ¦° cssλ js λ° μ΄λ―Έμ§ λ±λ± μ λ§μ μμλ€μ΄ λ€μ΄λ‘λλμ΄ νλ©΄μ λμΈ ν λ°, κ° μμλ€μ λ°λ‘ λ°λ‘ λ§€λ² TCP μ°κ²°νκ³ λ€μ΄λ°κ³ μ°κ²° λκ³ λ€μ μ°κ²°νκ³ λ€μ΄ λ°κ³ μ°κ²° λλ κ²μ΄λ€.
κ·Έλμ HTTP μ΄κΈ°μλ λͺ¨λ μλ£μ λν΄μ λΉμ°κ²°μ±μΌλ‘ κ°κ°μ μμμ λν΄ μ°κ²°/μλ΅/μ’ λ£λ₯Ό λ°λ³΅νλ€λ³΄λ λλ Έλ€.
HTTP / 1.1
HTTP 1.0μ λͺκ°μ§ λ¨μ μ 컀λ²νκΈ° μν΄ HTTP 1.0μ΄ μΆμλμ§ 6κ°μ λ§μ 1997λ 1μμ 곡μμ μΌλ‘ HTTP/1.1μ΄ λ¦΄λ¦¬μ¦ λκ² λλ€.
HTTP 1.1μ νμ¬ κ°μ₯ λ§μ΄ μ°μ΄λ νλ‘ν μ½ λ²μ Όμ΄λ©°, μ°λ¦¬κ° HTTPλ₯Ό νμ΅ν λ λ°°μ°λ κΈ°λ³Έ λ² μ΄μ€ μ§μμ΄κΈ°λ νλ€.
HTTP 1.1 νμ€μ μ΄μ λ²μ μμ λ°κ²¬ λ λ§μ νλ‘ν μ½ λͺ¨νΈμ±μ ν΄κ²°νκ³ λͺ κ°μ§ ν¬λ¦¬ν°μ»¬ν μ±λ₯ κ°μ μ λμ νλ€.
μ’λ 보μλ νΉμ§μ λ€μκ³Ό κ°λ€.
- μ§μ μ°κ²°(Persistent connection) : μ§μ ν timeout λμ μ°μμ μΈ μμ² μ¬μ΄μ 컀λ₯μ μ λ«μ§ μμ. κΈ°μ‘΄ μ°κ²°μ λν΄μ handshake μλ΅ κ°λ₯
- νμ΄ν λΌμ΄λ(pipelining) : μ΄μ μμ²μ λν μλ΅μ΄ μμ ν μ μ‘λκΈ° μ μ λ€μ μ μ‘μ κ°λ₯νκ² νμ¬, μ¬λ¬ μμ²μ μ°μμ μΌλ‘ λ³΄λ΄ κ·Έ μμμ λ§μΆ° μλ΅μ λ°λ λ°©μμΌλ‘ μ§μ° μκ°μ μ€μ΄λ λ°©μ (λΆμμ νμ¬ μ¬μ₯λ¨)
- HOST ν€λ μΆκ° : λμΌ IP μ£Όμμ λ€λ₯Έ λλ©μΈμ νΈμ€νΈνλ κΈ°λ₯ κ°λ₯
- Chunk Encoding μ μ‘ : μλ΅ μ‘°κ°
- λ°μ΄νΈ λ²μ μμ²
- μΊμ μ μ΄ λ©μ»€λμ¦ λμ
Persistent Connection (keep-alive)
HTTPλ TCP μ°κ²° κΈ°λ° μμμ λμνλ νλ‘ν μ½λ‘ μ λ’°μ± ν보λ₯Ό μν΄ μ°κ²°μ λ§Ίκ³ λλ λ° μμ΄μ 3 way Handshake κ° μ΄λ£¨μ΄μ§λ€. κ·Έλ°λ° HTTPλ κΈ°λ³Έμ μΌλ‘ λΉμ°κ²°μ±(connecitonless) νλ‘ν μ½μ΄κΈ° λλ¬Έμ ν λ²μ μμ²κ³Ό μλ΅μ νκ³ μλ΅μ΄ λλλ©΄ μ°κ²°μ λμ΄ λ²λ¦¬λλ°, μμμ μμ²ν λ λ§λ€ μ°κ²°μ λ§Ίκ³ λμ΄λ²λ € μ€λ²ν€λ(overhead)κ° μκΈ°κ² λλ€.
κ·Έλμ HTTP/1.1μμ Persistent Connection κΈ°λ₯μ΄ μΆκ°λ¨μΌλ‘μ¨, ν λ² λ§Ίμ΄μ‘λ μ°κ²°μ λμ§ μκ³ μ§μμ μΌλ‘ μ μ§νμ¬ λΆνμν Handshakeλ₯Ό μ€μ¬ μ±λ₯μ κ°μ νμλ€.
- μ°κ²°μ μ μ§ν¨μΌλ‘μ¨ Handshake κ³Όμ μ μλ΅ν΄ λΉ λ₯΄κ² μμμ λ°μμ¬ μ μλ€.
- λΆνμν μ°κ²°μ λ§Ίκ³ λμμ μ΅μνμμΌ λ€νΈμν¬ λΆνλ₯Ό μ€ μΌ μ μλ€.
- ν΄λΌμ΄μΈνΈ μΈ‘μμ μμ²μ keep-alive ν€λλ₯Ό λ΄μ 보λ΄μΌ νλ€.
- μ νν Content-length ν€λλ₯Ό μ¬μ©ν΄μΌ νλ€. νλμ connectionμ κ³μν΄μ μ¬μ¬μ©ν΄μΌ νλλ°, νΉμ μμ²μ μ’ λ£λ₯Ό νλ¨ν μ μκΈ° λλ¬Έμ΄λ€.
- Connection ν€λλ₯Ό μ§μνμ§ μλ proxyμλ μ¬μ©ν μ μλ€.
κ°λ HTTP μ§μ μ°κ²°μ persistent connection νΉμ keep-alive connection μΌλ‘ μ©μ΄λ₯Ό νΌμ¬νλλ°, μ ννλ persistent connectionμ΄ λ§λ€.
keep-aliveλ HTTP 1.0+μ΄ persistent connectionμ μ°κ²°νκΈ° μν΄, ν€λμ λͺ μν΄ μ¬μ©νλ λ¨μ΄λΌκ³ 보면 λλ€.
keep-alive λμ κ³Όμ
Keep-Aliveλ μ리λ λ¨μνλ€.
μ§μ ν timeoutλμ μ°κ²°μ λμ§ μκ² μ§μ ν΄μ, HTTP μμ²κ³Ό μλ΅ μ λ€μμ TCP μ°κ²° handshakeλ₯Ό μ€μ΄λ κ²μ μ΄μ μ λλ€.
HTTP/1.1λΆν°λ keep-aliveκ° κΈ°λ³ΈμΌλ‘ μΈν λμ΄ μλμΌλ‘ Persistent Connection μ°κ²°μ΄ λλ€. νμ§λ§ κΈ°λ³Έμ μΌλ‘ HTTP/1.0 connectionμ νλμ requestμ μλ΅ν λλ§λ€ connectionμ closeνλλ‘ μ€μ λΌμλ€.
λ°λΌμ HTTP/1.0+ κΈ°λ°μμ TCP μ°κ²°μ μ¬μ¬μ©μ μν λ μλμ²λΌ μμ² ν€λ Connection μμ±μ keep-aliveλ₯Ό μΈν ν΄μΌ νλ€λ νΉμ§μ΄ μλ€.
λ§μ½ μλ²μμ keep-alive connectionμ μ§μνλ κ²½μ°μλ λμΌν ν€λλ₯Ό responseμ λ΄μ 보λ΄μ£Όκ³ , μ§μνμ§ μμΌλ©΄ ν€λμ λ΄μ 보λ΄μ£Όμ§ μλλ€. λ§μ½ μλ²μ μλ΅μ ν΄λΉ ν€λκ° μμ κ²½μ° clientλ μ§μνμ§ μλλ€κ³ κ°μ νκ³ connectionμ μ¬μ¬μ©νμ§ μκ² λλ€.
- max : keep-aliveμ ν΅ν΄μ μ£Όκ³ λ°μ μ μλ requestμ μ΅λ κ°―μ. μ΄ μλ³΄λ€ λ λ§μ μμ²μ μ£Όκ³ λ°μ κ²½μ°μλ connectionμ closeλλ€.
- timeout : keep-aliveκ° μΌλ§λμ μ μ§λ κ²μΈκ°λ₯Ό μλ―Ένλ€. μ΄ μκ°μ΄ μ§λ λμ requestκ° μμ κ²½μ°μ connectionμ closeλλ€
keep-aliveλ₯Ό μ΄μ©ν ν΅μ μ μμ μ€μ μ λ°λΌ ν΄λΌμ΄μΈνΈλ μλ² μ€ νμͺ½μ΄ λ€μ ν€λλ₯Ό λΆμ¬ν΄ μ μμ λκ±°λ νμμμλ λκΉμ§ μ°κ²°μ΄ μ μ§λλ€. κ·Έλμ λ§μΌ νμν μμμ λͺ¨λ ν λΉλ°κ³ λμ΄μ keep-alive μ°κ²°μ μ μ§ν νμκ° μμ κ²½μ° μμ² ν€λμμ Connection μμ±μ closeλ‘ μ€μ ν΄ μλ²λ‘ 보λ΄κ² λλ©΄, TCP μ§μ μ°κ²°μ λκ² λλ€.
keep-alive λ©μΈμ§ ν΅μ
λ€μμ λκ°μ μμ²μ λν HTTP λ©μΈμ§ μμμ΄λ€.
λ¨Όμ HTML νμ΄μ§μ λν μμ²μ νκ³ κ·Έλ€μ μμ΄μ½ μ΄λ―Έμ§μ λν μμ²μ νλ€. μ΄ 2κ°μ§ μμ²μ λͺ¨λ ν κ°μ keep-alive μ°κ²°μ ν΅ν΄ μ λ¬λλ€.
1. HTML νμΌ μμ² (μΈμ½λ©, charsetκ³Ό μΏ ν€ λ©νλ°μ΄ν°μ ν¨κ»)
2. HTML μμ²μ λν μλ΅
3. λμΌν TCP μ°κ²°μ λ°μν icon νμΌ μμ² (icon νμΌμ λ°κ³ λλ©΄ μλ²μκ² ν΄λΉ μ°κ²°μ΄ μ¬μ¬μ©λμ§ μμ κ²μμ μ리기 μμ Connection ν€λκ°μ closeλ‘ μ€μ )
4. icon μλ΅κ³Ό μ°κ²° μ’ λ£
Pipelining
νμ΄ν λΌμ΄λμ μ¬λ¬κ°μ μμ²μ 보λΌλ μ²μ μμ²μ΄ μλ΅λ λκΉμ§ κΈ°λ€λ¦¬μ§ μκ³ λ°λ‘ μμ²μ νκΊΌλ²μ 보λ΄λ κ²μ μλ―Ένλ€. μ¦, μ¬λ¬κ°μ μμ²μ νκΊΌλ²μ 보λ΄μ μλ΅μ λ°μμΌλ‘μ λκΈ°μκ°μ μ€μ΄λ κΈ°μ μ΄λ€.
- keep-aliveλ₯Ό μ μ λ‘ νλ©°, μλ² κ° μμ²μ μλ΅μλλ₯Ό κ°μ μν€κΈ° μν΄ μ μ©
- μλ²λ μμ²μ΄ λ€μ΄μ¨ μμλλ‘(FIFO) μλ΅μ λ°ννλ€.
- νμ§λ§ μλ΅ μμλ₯Ό μ§ν€κΈ° μν΄ μλ΅ μ²λ¦¬λ₯Ό 미루기 λλ¬Έμ Head Of Line Blocking λ¬Έμ κ° λ°μνμ¬, κ·Έλμ λͺ¨λ λΈλΌμ°μ λ€μ λλΆλΆ νμ΄νλΌμ΄λμ μ¬μ©νμ§ λͺ»νλλ‘ λ§μ λμλ€.
- HTTP 2μμλ λ©ν°νλ μ± μκ³ λ¦¬μ¦μΌλ‘ λ체λμλ€.
Domain Sharding
νμ΄νλΌμ΄λμ λ체νκΈ° μν μ°¨μ μ± μΌλ‘ λμ¨ κΈ°μ μ΄λ©°, λΈλΌμ°μ λ€μ νλμ λλ©μΈμ λν΄ μ¬λ¬ κ°μ Connectionμ μμ±ν΄μ λ³λ ¬λ‘ μμ²μ 보λ΄κ³ λ°λ λ°©μμΌλ‘ μ±λ₯μ κ°μ νλ€.
ν λλ©μΈλΉ 6~13κ°μ TCP μ°κ²°λ€μ λμ μμ±ν΄ μ¬λ¬ 리μμ€λ₯Ό ν λ²μ λ€μ΄λ‘λ νλ κ²μ΄λ€. μ΄λ₯Ό Domain Shardingμ΄λΌκ³ λΆλ₯Έλ€.
νμ§λ§ λλ©μΈμ μ£Όμλ₯Ό μ°ΎκΈ° μν΄ DNS Lookup κ³Όμ μμ μκ°μ μ‘μλ¨Ήμμλ μμΌλ©°, λΈλΌμ°μ λ³λ‘ DomainλΉ Connection κ°μμ μ νμ΄ μ‘΄μ¬νμ¬ κ·Όλ³Έμ μΈ ν΄κ²°μ± μ μλμλ€.
HTTP/1.1 λ¬Έμ μ
HOLB (Head Of Line Blocking)
μμμ μκ°ν νμ΄ν λΌμ΄λμ μ΄μ°λ³΄λ©΄ μ λ§ νμ μ μΈ κΈ°μ μ΄μ§λ§, λ³΄λΈ μμ² μμλλ‘ μλ΅μ λ°μμΌνλ κ·μΉ λΆλΆμμ λ¬Έμ κ° μκΈ°κ² λλ€.
λ§μΉ FIFO(μ μ μ μΆ) μ²λΌ μκ°νλ©΄ λλλ°, λ¬Έμ λ μμ²νλ λ°μ΄ν°μ ν¬κΈ°λ μ κ°κ° μ΄κΈ° λλ¬Έμ, 첫λ²μ§Έλ‘ μμ²ν λ°μ΄ν°κ° μ©λμ΄ ν° λ°μ΄ν°λΌλ©΄, λλ²μ§Έ, μΈλ²μ§Έ λ°μ΄ν°κ° μ무리 빨리 μ²λ¦¬λμ΄λ μ°μ μμ μμΉμ λ°λΌ 첫λ²μ§Έ λ°μ΄ν°μ μλ΅ μλκ° λ¦μ΄μ§λ©΄ ν μμμ μλ λ°μ΄ν° μλ΅μλλ λ©λ¬μ λ¦μ΄μ§κ² λλ κ²μ΄λ€.
μ΄ν΄κ° μ λμ§ μλλ€λ©΄ μλ κ·Έλ¦Όμ μ΄ν΄λ³΄μ.
첫λ²μ§Έ http requestμμλ νλμ μμ²λΉ μλ΅μ λ°μμΌ λ€μ μμ²μ 보λ΄λ μ€λλ λ°©λ²μΌλ‘ time κΈΈμ΄λ₯Ό 보면 μ€λ κ±Έλ € κΈΈλ€. κ·Έλμ pipeliningμ ν΅ν΄ λμ μμ²μ ν΅ν΄ timeμ κ°μ μμΌ°μ§λ§, λ¬Έμ λ 첫λ²μ§Έ μμ²μ λν μλ΅μ΄ μ€λ걸릴 κ²½μ° κ·Έ λ€μ μλ΅λ κ°μ΄ λ¦κ² λμ κ²°κ³Όμ μΌλ‘ μ΄ timeμ΄ κΈΈμ΄μ§κ² λλ λΉν¨μ¨μ μΈ μν©μ΄ λ°μνκ² λλ κ²μ΄λ€.
λ°λΌμ μμ λ¬Έμ μ κ³Ό λλΆμ΄ ꡬν 볡μ‘μ±μ μν΄ νμ΄ν λΌμ΄λμ νμ©μ΄ λ§€μ° μ νμ μ΄μμΌλ©°, λλΆλΆμ λΈλΌμ°μ μμλ μ¬λ¬κ°μ tcp μ°κ²°μ λ§λ€μ΄ λ³λ ¬μ μΌλ‘ μ΄μ©νλ λ°©μμ λ§μ΄ μ¬μ©νμμ§λ§ μ΄ μμ μΆκ° λ©λͺ¨λ¦¬μ 리μμ€λ₯Ό λλΉνλ λ¨μ μ΄ μμλ€.
RTT (Round Trip Time)
RTT(Round Trip Time)λ, μμ²(SYN)μ λ³΄λΌ λλΆν° μμ²μ λν μλ΅(SYN+ACK)μ λ°μ λκΉμ§μ μ볡 μκ°μ μλ―Ένλ€.
μ¦, μ무리 keep-alive λΌκ³ νμ§λ§ κ²°κ΅ TCPμμμ λμνλ HTTPμ νΉμ±μ Handshake κ° λ°λ³΅μ μΌλ‘ μΌμ΄λκ² λμ΄ λΆνμν RTTμ¦κ°λ‘ μΈν΄ λ€νΈμν¬ μ§μ°μ μ΄λνμ¬ μ±λ₯μ΄ μ νλκ² λλ€.
μμ μλ 컨ν μΈ κ° μ§κΈμ²λΌ λ§μ§ μμκΈ°μ ν° λΆλ΄μ μλμμ§λ§, μ μ 컨ν μΈ κ° μ¦κ°νλ©΄μ μ΄λ¬ν λ μ΄ν΄μλ λΆλ΄μ€λ¬μ μ‘λ€.
λ¬΄κ±°μ΄ ν€λ ꡬ쑰μ μ€λ³΅
http/1.1μ ν€λμλ λ§μ λ©νμ 보λ€μ΄ μ μ₯λμ΄μ Έ μλ€. λν ν΄λΉ λλ©μΈμ μ€μ λ cookieμ 보λ 맀 μμ²μ λ§λ€ ν€λμ ν¬ν¨λμ΄ μ μ‘λκΈ° λλ¬Έμ μ€νλ € μ μ‘νλ €λ κ°λ³΄λ€ ν€λ κ°μ΄ λ ν° κ²½μ°κ° λΉμΌλΉμ¬ νμλ€.
κ·Έλ¦¬κ³ μ§μ 컀λ₯μ μμμ μ£Όκ³ λ°λ μ°μλ μμ² λ°μ΄ν°κ° μ€λ³΅λ ν€λκ°λ₯Ό κ°μ§κ³ μλ κ²½μ°κ° λ§μ μΈλ°μλ λ©λͺ¨λ¦¬ μμλ λλΉνκ² λλ κΌ΄μ΄ λμλ€.
HTTP 1.1μ κ°μ ν HTTP 2.0
HTTP 2.0μ κΈ°μ‘΄ HTTP 1.1 λ²μ μ μ±λ₯ ν₯μμ μ΄μ μ λ§μΆ νλ‘ν μ½μ΄λ€.
κΈ°μ‘΄μ HTTP 1.1μ λ΄λΆμ μΈ ν΅μ ꡬ쑰λ₯Ό λ€λ₯Έ κ°λ μΌλ‘ μ‘λ리째 λ°κΏλ²λ Έλλ°, μΉ μλ΅ μλκ° HTTP/1/1μ λΉν΄ 15~50% ν₯μ λμλ€.
μλ κ·Έλ¦Όμ 보면 κ³ μ©λ μ΄λ―Έμ§μ λν΄μ μλ΅μλ λΉκ΅λ₯Ό νλμ λ³Ό μ μλ€.
[WEB] π HTTP 2.0 ν΅μ κΈ°μ - μμ μκ² μ΄ν΄νκΈ°
HTTP / 2.0 HTTP 2.0μ κΈ°μ‘΄ HTTP 1.1 λ²μ μ μ±λ₯ ν₯μμ μ΄μ μ λ§μΆ νλ‘ν μ½μ΄λ€. μΈν°λ· νλ‘ν μ½ νμ€μ λμ²΄κ° μλ νμ₯μΌλ‘μ¨, HTTP 1.1μ μ±λ₯ μ ν λΆλΆκ³Ό λΉν¨μ¨μ μΈ κ²λ€μ κ°μ λμ΄ νμν
inpa.tistory.com
# μ°Έκ³ μλ£
HTTP μλ²½ κ°μ΄λ - Programming Insight
https://kyun2da.dev/cs/http%EC%9D%98-%EC%97%AD%EC%82%AC%EC%99%80-http2%EC%9D%98-%EB%93%B1%EC%9E%A5/
https://www.imperva.com/learn/performance/http-keep-alive/