μλ
νμΈμ μ€λμ HTTP ν€λμ λνμ¬ κ³΅λΆν΄λ΄
λλ€.
HTTP ν€λμ λν κ°λ
λ€μ λ무 λ§μμ μͺΌκ°μ κΈ°λ‘ν κ²λλ€.
μ€ννΈ λΌμΈ λ€μμ ν€λλ€μ΄ μ μ€κ³ , νμΉΈ λμ°κ³ λ°λλΆλΆλ€μ΄ λ€μ΄μ€κ² λλ ꡬμ±μ΄λ€.
HTTP μ μ‘μ νμν λͺ¨λ λΆκ°μ 보
- μ) λ©μμ§ λ°λμ λ΄μ©, λ©μμ§ λ°λμ ν¬κΈ°, μμΆ, μΈμ¦, μμ² ν΄λΌμ΄μΈνΈ, μλ² μ 보, μΊμ κ΄λ¦¬ μ 보...λ±λ± μ λ§ λ¬΄μν μ 보λ€μ΄ λ€μ΄κ°λ€.
νμ€ ν€λκ° λ무 λ§λ€.
νμμ μμμ ν€λ μΆκ° κ°λ₯
- helloworld : hihi
1) General ν€λ : λ©μμ§ μ 체μ μ μ©λλ μ 보, μ) Connection: close
2) Request ν€λ : μμ² μ 보, μ) User-Agent: Mozilla/5.0 (Macintosh;..) μΉλΈλΌμ°μ μ λ³΄κ° λμ§
3) Response ν€λ : μλ΅ μ 보, μ) Server: Apache μλ² μ λ³΄κ° λμ§
4) Entity ν€λ : μν°ν° λ°λ μ 보, μ) Content-Type:text/html, Content-Length:3423 μ½ν
μΈ νμ
μ λ°λμ κ΄λ ¨λ μ 보λΌκ³ 보면 λλ€.
μ°Έκ³ : νν ν€λλ νν λ©νλ°μ΄ν°μ νμ΄λ‘λ λ©μμ§λ₯Ό ꡬλΆν΄μΌ νλ€.
1999λ RFC2616μ΄ νκΈ°κ° λλ€. κ·Έλ¦¬κ³ 2014λ μ RFE7230~7235 κ° λ±μ₯νκ² λλ€.
Content-Type : νν λ°μ΄ν°μ νμ (HTML, JSON)
Content-Encoding : νν λ°μ΄ν°μ μμΆ λ°©μ
Content-Language : νν λ°μ΄ν°μ μ§μ° μΈμ΄ (νκ΅μ΄μΈμ§, μμ΄μΈμ§)
Content-Length : νν λ°μ΄ν°μ κΈΈμ΄
νν ν€λλ μ μ‘, μλ΅ λλ€ μ¬μ©νλ€.
Content-Type νμμ΄λΌλ 리μμ€κ° μλ€. μ΄κ±Έ HTMLμ΄λΌλ νμμΌλ‘ μ λ¬ν κ±°μΌ, JSONμ΄λ λ°μ΄ν° νμμ ννμΌλ‘ μ λ¬ν κ±°μΌ. λΌλ λ»μ΄λ€.
νκ΅μ΄ λΈλΌμ°μ λ₯Ό μ¬μ©νμ¬ μΈκ΅ μ¬μ΄νΈμ λ€μ΄κ°λ€.
κ·Όλ° μΈκ΅ μ¬μ΄νΈμ κΈ°λ³Έ μΈμ΄λ μμ΄κ³ μλΈ μΈμ΄λ‘ νκ΅μ΄λ μ§μνλ€κ³ λμ΄μλ€. κ·Έλ¬λ©΄ ν΄λΌμ΄μΈνΈκ° νκ΅μ΄μΈμ§ μλμ§ μλ¬΄λ° μ λ³΄κ° μμΌλ μλ²μμλ μμ΄ κ΄λ ¨ λ λ΄μ©μΌλ‘ νκ΅μ΄ λΈλΌμ°μ μ μλ΅μ ν΄μ€λ€.
κ·Έλ°λ° !! Accept-Language:KOλ‘ μ λ¬νλ©΄ 'λ΄κ° μνλ건 νκ΅μ΄μμ.' λΌκ³ ν΄λΌμ΄μΈνΈμμ μλ²λ‘ μμμ μ λ¬μ΄ λλ€. κ·ΈλΌ μλ²μμλ κΈ°λ³Έ μΈμ΄λ μμ΄μ΄μ§λ§ νκ΅μ΄λ μ§μνκΈ° λλ¬Έμ μμμ ν΄λΌμ΄μΈνΈκ° μνλ νκ΅μ΄λ‘ λ°λμ λΏλ €μ€λ€.
μ΄λ κ² ν΄λΌμ΄μΈνΈκ° μνλ건 νκ΅μ΄μΈλ°, μλ²μμλ κΈ°λ³ΈμΈμ΄κ° λ μΌμ΄κ³ μλΈ μΈμ΄κ° μμ΄μ΄λ€. μ΄λ΄κ²½μ°μλ, μ°μ μμκ° νμνλ€.
ko-KRμ μλ΅λμ΄ μμΌλ 1μ΄λ€. koλ νλ¦¬ν° κ°μ΄ 0.9λ€. en-USλ μμ΄μΈλ° νλ¦¬ν° λ²¨λ₯λ₯Ό 0.8λ‘ λ£κ³ 곡ν΅μ 0.7μ λ£μλ€.
β¨ μ΄ μμλ₯Ό λ³΄κ³ μ€μ λ‘ κ΅¬κΈμ κ²μμ ν΄λ³΄λ©΄
μ΄λ κ² λ€νΈμν¬ ν€λλΆλΆμ Accept-Language μλ΅λ μ°νμκ³ accept-encodingμ΄λ path 쿼리κΉμ§ λ€ μλ΅λμ΄ λμ¨λ€.
4. */*
μμ²μ νλ©΄ μλ΅μ μ£Όλλ°, λ©μμ§ λ°λμ λν 컨ν μΈ κΈΈμ΄λ₯Ό μ§μ μ νλ€. 컨ν μΈ κΈΈμ΄ lengthλ₯Ό μκ³ μ€λ€. κ·ΈλΌ μ½ν μΈ μ λν κΈΈμ΄λ₯Ό λ°λμ μ€λ€. (ν λ²μ μμ²νκ³ ν λ²μ μμ± λ°λλ€.)
μλ²μμ GzipμΌλ‘ μμΆμ νλ€. κ·Έλ¬λ©΄ μ©λμ΄ μ λ§ λ§μ΄ μ€μ΄λ λ€.
μμ μ²λΌ content-encoding μ gzipμΌλ‘ λ£μ΄μ€λ€. μ΄λ₯Ό μμΆμ μ‘μ΄λΌκ³ νλ€.
Transfer-Encoding:chunked λ©μ΄λ¦¬λ₯Ό μͺΌκ°μ μΈμ½λ©νλ€. λΌλ λ»μ΄λ€. β¨μ°Έκ³ λ‘ λΆν μ μ‘λλ content-lengthλ₯Ό λ£μΌλ©΄ μλλ€. (μ£ΌμνμΌ)
Range, Content-Range
λλ μ λ° λ°μκ³ λλ¨Έμ§ μ λ° μ£ΌμΈμ. νλ©΄ μλ²μμ μμμ μ€λ€