Appendix A. HTTP Version History
HTTPλ 1990λ λΆν° μ¬μ©λκ³ μλ€. λμ€μ HTTP/0.9 λΌκ³ λΆλ¦¬λ 첫 λ²μ§Έ λ²μ μ λ¨μΌ μμ² λ©μλ(GET)λ§ μ¬μ©νκ³ λ©νλ°μ΄ν°λ μ¬μ©νμ§ μλ μΈν°λ·μ ν΅ν νμ΄νΌν μ€νΈ λ°μ΄ν° μ μ‘μ μν κ°λ¨ν νλ‘ν μ½μ΄μλ€. [RFC1945]μμ μ μν λλ‘ HTTP/1.0μ λ€μν μμ² λ©μλμ MIME μ μ¬ λ©μμ§λ₯Ό μΆκ°νμ¬ λ©νλ°μ΄ν°λ₯Ό μ μ‘νκ³ μμ²/μλ΅ μλ―Έλ‘ μ μμ μλ₯Ό λ°°μΉν μ μλλ‘ νλ€. κ·Έλ¬λ HTTP/1.0μ κ³μΈ΅ νλ½μ, μΊμ±, μμμ 컀λ₯μ μ νμμ± λλ μ΄λ¦ κΈ°λ° κ°μ νΈμ€νΈμ μν₯μ μΆ©λΆν κ³ λ €νμ§ μμλ€.
HTTP/1.1μ μ λ’°ν μ μλ ꡬνμ κ°λ₯νκ² νλ λ³΄λ€ μ격ν μꡬμ¬νμ ν¬ν¨νλ―λ‘μ¨ HTTP/1.0κ³Ό νΈνμ±μ μ μ§νλ©°, HTTP/1.0 μμ μκ° μμ νκ² λ¬΄μνκ±°λ HTTP/1.1κ³Ό ν΅μ ν λμλ§ μ μ‘ν μ μλ κΈ°λ₯λ§ μΆκ°νλ€.
HTTP/0.9λ μμ²μμ ν€λ νλλ₯Ό μ§μνμ§ μμκΈ° λλ¬Έμ μ΄λ¦ κΈ°λ° κ°μ νΈμ€νΈ(Host ν€ λ νλμ κ²μ¬μ μν 리μμ€ μ ν)λ₯Ό μ§μνλ λ©μ»€λμ¦μ΄ μλ€. μ΄λ¦ κΈ°λ° κ°μ νΈμ€νΈλ₯Ό ꡬννλ λͺ¨λ μλ²λ HTTP/0.9μ λν μ§μμ λΉνμ±νν΄μΌ νλ€. HTTP/0.9λ‘ λ³΄μ΄λ λλΆλΆμ μμ²μ μ€μ λ‘ ν΄λΌμ΄μΈνΈκ° μμ² λμμ μ λλ‘ μΈμ½λ©νμ§ λͺ»ν΄ λ°μνλ μλͺ» ꡬμ±λ HTTP/1.x μμ²μ΄λ€.
A.1 Changes HTTP/1.0
μ΄ μΉμ μ λ²μ HTTP/1.0κ³Ό HTTP/1.1 μ¬μ΄μ μ£Όμ μ°¨μ΄μ μ μμ½νλ€.
A.1.1 Multihomed Web Servers
ν΄λΌμ΄μΈνΈμ μλ²κ° Host ν€λ νλλ₯Ό μ§μνκ³ (Section 5.4), HTTP/1.1 μμ²μ λλ½λ κ²½ μ° μ€λ₯λ₯Ό λ³΄κ³ νκ³ , μ λ URIλ₯Ό μλ½(Section 5.3)νλ μ건μ HTTP/1.1μμ μ μν κ°μ₯ μ€μν λ³κ²½ μ¬ν μ€ νλμ΄λ€.
A.1.2 Keep-Alive Connections
HTTP/1.0μμ κ° μ»€λ₯μ μ μμ² μ μ ν΄λΌμ΄μΈνΈμ μν΄ μ€μ λκ³ μλ΅ μ μ‘ ν μλ²μ μν΄ μ’ λ£λλ€. κ·Έλ¬λ μΌλΆ ꡬνμμλ λͺ μμ μΌλ‘ νμλ [RFC2068] Section 19.7.1μ μ€λͺ ν μμμ 컀λ₯μ (βKeep-Aliveβ) λ²μ μ ꡬννλ€.
μΌλΆ ν΄λΌμ΄μΈνΈμ μλ²λ "Connection: keep-alive" μμ² ν€λ νλμ λͺ μμ μΌλ‘ νμν¨μΌλ‘μ¨ μμμ 컀λ₯μ μ λν μ΄λ¬ν μ΄μ μ κ·Όλ°©μκ³Ό νΈνλκΈ°λ₯Ό μν μ μλ€. κ·Έλ¬λ HTTP/1.0 μμμ 컀λ₯μ μ μΌλΆ μ€νμ ꡬνμ κ²°ν¨μ΄ μλ€. μλ₯Ό λ€μ΄ HTTP/1.0 νλ½μ μλ²κ° Connectionμ μ΄ν΄νμ§ λͺ»νλ©΄ ν€λ νλλ₯Ό λ€μ μΈλ°μ΄λ μλ²λ‘ μλͺ» μ λ¬νμ¬ μ»€λ₯μ μ΄ λμ΄μ§ μ μλ€.
ν΄λΌμ΄μΈνΈλ λν μμ²μμ keep-alive 컀λ₯μ μ μ£ΌμκΉκ² μ¬μ©νλλ‘ κΆμ₯λλ€: κ·Έλ€μ HTTP/1.0 μλ²μμ μμμ 컀λ₯μ μ κ°λ₯νκ² ν μ μμ§λ§, ν΄λΌμ΄μΈνΈκ° βhungβ μμ²μ 컀λ₯μ μ κ°μν΄μΌ ν νμκ° μμ κ²μ΄λ€.(ν€λ νλ μ μ‘μ μ€λ¨ν΄μΌ νλ€λ κ²μ λνλ΄λ) κ·Έλ¦¬κ³ νλ½μλ₯Ό μ¬μ©ν λ μ΄ λ©μ»€λμ¦μ ν΄λΌμ΄μΈνΈμ μν΄ μ¬μ©λμ΄μλ μ λλ€.
A.1.3 Introduction of Transfer-Encoding
HTTP/1.1μλ Transfer-Encoding ν€λ νλκ° λμ λλ€(Section 3.3.1). μ μ‘ μ½λ©μ MIME νΈν νλ‘ν μ½μ ν΅ν΄ HTTP λ©μμ§λ₯Ό μ λ¬νκΈ° μ μ ν΄λ λμ΄μΌ νλ€.
A.2 Changes from RFC 2616
μ€λ₯ μ²λ¦¬μ λν HTTPμ μ κ·Όλ°©μμ΄ μ€λͺ λμλ€. (Section 2.5)
HTTP-version ABNFμ λμλ¬Έμλ₯Ό ꡬλΆνλ κ²μΌλ‘ λͺ νν΄μ‘λ€. λν λ²μ λ²νΈλ ꡬν μ μ¬λ¬ μλ¦Ώμμ λ²μ λ²νΈλ₯Ό μλͺ» μ·¨κΈνλ κ²μΌλ‘ μλ €μ Έ μκΈ° λλ¬Έμ ν μλ¦Ώμλ‘ μ νλμ΄ μλ€. (Section 2.6)
Userinfo(μ¦, μ¬μ©μ μ΄λ¦ λ° μνΈ)λ νμ¬ μ /무μ μμ μ μ‘κ³Ό κ΄λ ¨λ 보μ λ¬Έμ λ‘ μΈν΄ HTTP λ° HTTPS URIsμμ νμ©λμ§ μλλ€. (Section 2.7.1)
HTTPS URI schemeλ μ΄μ μ΄ λͺ μΈμ μν΄ μ μλλ€. μ΄μ μλ [RFC2818]μ Section 2.4μμ μνλμλ€. μΆκ°λ‘, κ·Έκ²μ end-to-end 보μμ μλ―Ένλ€. (Section 2.7.2)
HTTP λ©μμ§λ ꡬνμ μν΄ λ²νΌλ§λ μ μμΌλ©°(κ·Έλ¦¬κ³ μ’ μ’ ) μ€νΈλ¦ΌμΌλ‘ μ΄μ© κ°λ₯ν¨μλ λΆ κ΅¬νκ³ HTTPλ κ·Όλ³Έμ μΌλ‘λ λ©μμ§ μ§ν₯ νλ‘ν μ½μ΄λ€. μνΈμ΄μ©μ±μ κ°μ νκΈ° μν΄ λ€μν νλ‘ν μ½ μμμ λν΄ μ§μλλ μ΅μ ν¬κΈ°κ° μ μλμλ€. (Section 3)
field-names μ£Όλ³μ μλͺ»λ 곡백μ μλ½νλ©΄ 보μ μ·¨μ½μ±μ λνλ΄κΈ° λλ¬Έμ μλͺ»λ 곡백μ κ±°λΆλμ΄μΌ νλ€. ν€λ νλλ₯Ό μ μνλ ABNFμ μ΄μ νλ κ°λ§ λμ΄νλ€. (Section 3.2)
νΉμ λ¬Έλ² μ μ μ¬μ΄μ μμμ μ ν 곡백μ λν κ·μΉμ μ κ±°λμλ€. μ΄μ 곡백μ ABNFμ νΉλ³ν μ μλ κ²½μ°μλ§ νμ©λλ€. (Section 3.2.3)
μ¬λ¬ λΌμΈμ κ±Έμ³ μλ(βline foldingβ) ν€λ νλλ λ μ΄μ μ¬μ©λμ§ μλλ€. (Section 3.2.4)
μ νν μΈμ βcloseβ 컀λ₯μ μ΅μ μ 보λ΄μΌ νλμ§κ° λͺ νν΄μ‘λ€. λν βhop-by-hopβν€λ νλλ Connection ν€λ νλμ λνλμΌ νλ€. λ¨μ§ μ΄ νλͺ©μμ hop-by-hopμΌλ‘ μ μλλ€κ³ ν΄μ μ μΈλλ κ²μ μλλ€. (Section 6.1)
μλ²λΉ λ κ°μ 컀λ₯μ νλκ° μ κ±°λμλ€. λ©±λ±μ±μΈ μμ² μνμ€λ λ μ΄μ μ¬μλν νμκ° μλ€. μλ²κ° 컀λ₯μ μ μ‘°κΈ°μ μ’ λ£ν λ νΉμ μν©μμ μμ²μ λ€μ μλν΄μΌ νλ μꡬ μ¬νμ΄ μ κ±°λ¨. λν, μλ²κ° μΈμ μ‘°κΈ°μ 컀λ₯μ μ λ«μ μ μλμ§μ λν μΌλΆ κ΄λ ¨ μꡬμ¬νμ΄ μ κ±°λμλ€. (Section 6.3)
Upgrade ν€λ νλμ μλ―Έλ‘ μ μ΄μ 101μ΄ μλ λ€λ₯Έ μλ΅μΌλ‘ μ μλλ€(μ΄κ²μ [RFC2817]μμ ν΅ν©λμλ€). κ²λ€κ°, νλ κ°μ μμλ μ΄μ μ€μνλ€. (Section 6.7)
HTTP/0.9 μμ²μ μ§μνλ €λ κΈ°λκ° μ κ±°λμλ€. (Appendix A)
μμ²μμ Keep-Alive λ° Proxy-Connection ν€λ νλμ λ¬Έμ κ° μ§μ λλ©°, νμμ μ¬μ©μ μ ν μ€λ¨λλ€. (Appendix.A 1.2)
Last updated