π 1. μ μ‘ ν¨μ¨μ λμ΄λ μΈμ½λ©
- HTTPλ‘ λ°μ΄ν°λ₯Ό μ μ‘ν κ²½μ° κ·Έλλ‘ μ μ‘ν μ μμ§λ§ μ μ‘ν λμ μΈμ½λ©(λ³ν)μ μ€μν¨μΌλ‘μ¨ μ μ‘ ν¨μ¨μ λμΌ μ μλ€.
- νμ§λ§, μ»΄ν¨ν°μμ μΈμ½λ© μ²λ¦¬λ₯Ό ν΄μΌ νκΈ° λλ¬Έμ CPU λ±μ 리μμ€λ λ³΄λ€ λ§μ΄ μλΉνκ² λλ€.
- μ½ν
μΈ μ½λ©(Content Codings)
μν°ν°μ μ μ©νλ μΈμ½λ©μ κ°λ¦¬ν€λλ° μν°ν° μ 보λ₯Ό μ μ§ν μ±λ‘ μμΆνλ€.
μ’ λ₯ : gzip(GNU zip), compress(UNIXμ νμ€ μμΆ), deflate(zlib), identity(μΈμ½λ© μμ) - μ±ν¬ μ μ‘ μ½λ©(Chunked transfer Coding)
μν°ν° λ°λλ₯Ό λΆν νλ κΈ°λ₯
μ¬μ΄μ¦κ° ν° λ°μ΄ν°λ₯Ό μ μ‘νλ κ²½μ°μ λ°μ΄ν°λ₯Ό λΆν ν΄μ μ‘°κΈμ© νμνλλ‘ νλ κ²
π 2. μ¬λ¬ λ°μ΄ν°λ₯Ό 보λ΄λ λ©ν°ννΈ (Multipart)
- μ¬λ¬ λ€λ₯Έ μ’ λ₯μ λ°μ΄ν°λ₯Ό μμ©νλ λ°©λ²
- νλμ λ©μμ§ λ°λ λ΄λΆμ μν°ν°λ₯Ό μ¬λ¬ κ° ν¬ν¨μμΌ λ³΄λΌ μ μλ€.
- μ£Όλ‘ μ΄λ―Έμ§λ ν μ€νΈ νμΌ λ±μ μ λ‘λν λ μ¬μ©
- multipart/form-data
WEB νΌμΌλ‘λΆν° νμΌ μ λ‘λμ μ¬μ© - multipart/byteranges
μν μ½λ 206(Partial Content) 리μ€ν°μ€ λ©μμ§κ° 볡μ λ²μμ λ΄μ©μ ν¬ν¨νλ λμ μ¬μ©
π 3. μΌλΆλΆλ§ λ°λ λ μΈμ§ 리νμ€νΈ (Range Request)
- κ΄λμμ λ€νΈμν¬λ₯Ό μ΄μ©ν μ μκΈ° μ μλ λμ©λμ μ΄λ―Έμ§μ λ°μ΄ν°λ₯Ό λ€μ΄λ‘λνκΈ°κ° μ΄λ €μ μ
- λ€μ΄λ‘λ μ€μ 컀λ₯μ μ΄ λμ΄μ§κ² λλ©΄ μ²μλΆν° λ€μ λ€μ΄λ‘λλ₯Ό ν΄μΌ νκΈ° λλ¬Έμ
- κ·Έλμ 리μ€(Resume)μ΄λΌλ κΈ°λ₯μ μ΄μ©νμ¬ μ΄μ μ λ€μ΄λ‘λλ₯Ό ν κ³³μμλΆν° λ€μ λ€μ΄λ‘λλ₯Ό μ¬κ°νλ €κ³ ν¨
- μ΄ κΈ°λ₯μ μ€ννκΈ° μν΄μλ λ²μλ₯Ό μ§μ ν΄μ 리νμ€νΈνλ λ μΈμ§ 리νμ€νΈ(Range Request)κ° νμν¨
- Range ν€λ νλλ₯Ό μ¬μ©νμ¬ λ¦¬μμ€μ λ°μ΄νΈ λ μΈμ§λ₯Ό μ§μ νμ¬ μ¬μ©
// 5,001 ~ 10,000 λ°μ΄νΈμ λ²μλ§μ 리νμ€νΈνλ κ²½μ°
Range: bytes = 5001-10000
- λ μΈμ§ 리νμ€νΈμ λν 리μ€ν°μ€λ μν μ½λ 206(Partial Content)μ΄ λμμ΄
- 볡μ λ²μμ λ μΈμ§ 리νμ€νΈμ λν 리μ€ν°μ€λ multipart/byterangesκ° λμμ΄
- μλ²κ° λ μΈμ§ 리νμ€νΈλ₯Ό μ§μνμ§ μλ κ²½μ° μνμ½λ 200(OK)μ΄ λμμ΄
π 4. μ΅μ μ μ½ν μΈ λ₯Ό λλ €μ£Όλ μ½ν μΈ λ€κ³ μμμ΄μ (Content Negotiation)
- μ½ν μΈ λ€κ³ μμμ΄μ (Content Negotiation)μ΄λ ν΄λΌμ΄μΈνΈμ μλ²κ° μ 곡νλ 리μμ€μ λ΄μ©μ λν΄μ κ΅μνλ κ²
- κ°μ μ½ν μΈ μ΄μ§λ§ μ¬λ¬ κ°μ νμ΄μ§λ₯Ό μ§λ μΉ νμ΄μ§λ₯Ό μ¬μ©νλ κ²½μ°μ μ¬μ©
- μλ₯Ό λ€μ΄, μμ΄μ νκ΅μ΄μ κ°μ΄ μλ‘ λ€λ₯Έ μΈμ΄λ₯Ό μ£Όλ‘ μ¬μ©νλ λΈλΌμ°μ κ° κ°μ URIμ μ‘μΈμ€ ν λμ κ°κ° μμ΄ν μΉ νμ΄μ§μ νκ΅μ΄ν μΉ νμ΄μ¦λ₯Ό νμνλ κ²
- 리νμ€νΈ λ©μμ§μ ν¬ν¨λ 리νμ€νΈ ν€λ νλκ° νλ¨ κΈ°μ€μ΄ λλ€
Accept
Accept-Charset
Accept-Encoding
Accept-Language
Content-Language
- μλ² κ΅¬λν λ€κ³ μμμ΄μ
(Serve-driven Negotiation)
μλ² μΈ‘μμ μ½ν μΈ λ€κ³ μμμ΄μ μ νλ λ°©μ
μλ² μΈ‘μμ 리νμ€νΈ ν€λ νλμ μ 보λ₯Ό μ°Έκ³ ν΄μ μλμ μΌλ‘ μ²λ¦¬ - μμ΄μ νΈ κ΅¬λν λ€κ³ μμμ΄μ
(Agent-driven Negotiation)
ν΄λΌμ΄μΈνΈ μΈ‘μμ μ½ν μΈ λ€κ³ μμμ΄μ μ νλ λ°©λ²
λΈλΌμ°μ μ νμλ μ νμ§ μ€μμ μ μ κ° μλμΌλ‘ μ ν - νΈλμ€νμ΄λ°νΈ λ€κ³ μμμ΄μ
(Transparent Negotiation)
μλ² κ΅¬λνκ³Ό μμ΄μ νΈ κ΅¬λνμ νΌν©ν κ²
μλ²μ ν΄λΌμ΄μΈνΈκ° κ°κ° μ½ν μΈ λ€κ³ μμμ΄μ μ νλ λ°©μ
'π κ°λ° μμ > κ·Έλ¦ΌμΌλ‘ λ°°μ°λ HTTP&Network Basic' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ 6μ₯. HTTP ν€λ (0) | 2023.05.31 |
---|---|
μ 5μ₯. HTTPμ μ°κ³νλ μΉ μλ² (0) | 2023.05.31 |
μ 4μ₯. κ²°κ³Όλ₯Ό μ λ¬νλ HTTP μν μ½λ (0) | 2023.05.30 |
μ 2μ₯. κ°λ¨ν νλ‘ν μ½ HTTP (0) | 2023.05.30 |
μ 1μ₯. μΉκ³Ό λ€νΈμν¬μ κΈ°λ³Έμ λν΄ μμ보μ (0) | 2023.05.30 |