Quiz
(1) Content-Lengthλ body μ 체 κΈΈμ΄μ΄λ€. ( O / X )
(2) HTTP/1.1μ Intermediaries (μ€κ°μ)κ° μλ κ²μ?
Proxy
2. Gateway (reverse proxy)
3. Tunnel
4. Cache
(3) cacheλ?
(4) μΊμλ μλ²κ° ν°λ μν μ νλ λμμλ μ¬μ©λ μ μλ€. ( O / X )
(5) Hostμ Connection ν€λ νλλ HTTP/1.1μ€μ μ¬λΆμ κ΄κ³ μμ΄ λͺ¨λ HTTP/1.xꡬνμ μν΄ κ΅¬νλμ΄μΌ νλ€. ( O / X )
(6) HTTPλ μ μ‘ νλ‘ν μ½κ³Ό λ 립μ μ΄μ§λ§, μ΄λ¦ μμ νλ‘μΈμ€λ κΆνμ μ€μ νλ TCPμ μμ‘΄νκΈ° λλ¬Έμ βhttpβ schemeμ TCPκΈ°λ° μλΉμ€μλ§ νμ λλ€. ( O / X )
(7) λ€μμ URI λͺ μΉμΌλ‘ νμνμ.
http://example.com:80/~smith/home.html
(8) HTTP-messageμμ header-fieldλ 무νν λ€μ΄κ° μ μλ€. ( O / X )
(9) HTTP-messageμμ header-fieldμ message-bodyμ¬μ΄μλ CRLF νλκ° λ€μ΄κ°λ€. ( O / X )
(10) HTTP-messageλ CRLF, start-line, header-field, message-body, end-lineμΌλ‘ ꡬμ±λΌμλ€. ( O / X )
(11) λ€μ μλ§μ κ²μ μ§μ§μΌμμ€.
1. Request Line, 2. Status Line
(12) ν€λ νλλ₯Ό 무μνλ©΄ μλ²μ smuggling 곡격 μ·¨μ½μ±μ΄ μ¦κ°νλ€. smuggling 곡격 μ΄λ?
(13) μμ²μμ λ©μμ§ λ³Έλ¬Έμ΄ μμΌλ©΄ Content-Length λλ Transfer-Encoding ν€λ νλλ‘ νμλλ€. ( O / X )
(14) μλ΅μμ λ©μμ§ λ³Έλ¬Έμ μ‘΄μ¬ μ¬λΆλ μλ΅νλ μλ΅ μν μ½λμ λ°λΌ λ¬λΌμ§λ€. ( O / X )
(15) λ©μμ§μ Transfer-Encoding ν€λ νλκ° μλ κ²½μ°, Content-Length ν€λ νλμ κ°μ μ«μ ν¬κΈ°μ μκ΄μμ΄ λͺ¨λ λ€μ΄ κ° μ μλ€. ( O / X )
(16) λ°μ μλ Transfer-Encoding ν€λ νλλ₯Ό ν¬ν¨νλ λ©μμ§μμ Content-Length ν€λ νλλ ν¬ν¨ ν μ μλ€. ( O / X )
(17) Content-Length νλ κ°μ΄ 0λ³΄λ€ ν¬κ±°λ κ°μΌλ©΄ μ ν¨νλ€. ( O / X )
(18) connect μμ²μ λν 2xx (μ±κ³΅) μλ΅μ Content-Length λλ Transfer-Encodingλ 무μλλ€. ( O / X )
(19) μ μ‘ μ½λ©(Transfer coding) μ΄λ¦μ λ€νΈμν¬λ₯Ό ν΅ν΄ "safe transport" μ 보μ₯νκΈ° μν μΈμ½λ© λ³νμΌλ‘ μ¬μ©λλ€. ( O / X )
(20) Request Targetμ κ΄ν λ΄μ©μ΄λ€. μλ§μ κ²μ μ§μ§μΌμμ€.
origin-form
absolute-form
(21) HTTP λ©μμ§μ κΈ°λ°μ μ΄λ£¨λ μ μ‘ λλ μΈμ κ³μΈ΅ 컀λ₯μ νλ‘ν μ½κ³Ό λ 립μ μ΄λ€. ( O / X )
(22) Connection κ³Ό Keep-Alive κ°μ μ°κ²°-μ§μ (Connection-specific) ν€λ νλλ€μ HTTP/2μμ κΈμ§λλ€. ( O / X )
(23) βcloseβ 컀λ₯μ μ΅μ μ νμ¬ μμ²/μλ΅ ν 컀λ₯μ μ΄ μ§μλμ§ μμμ μ리λ λ° μ¬μ©λλ€. ( O / X )
(24) λ€μμ http/1.1μμ μ΄λ λΆλΆμ κ΄ν λ΄μ©μΈκ°?
(25) λ€μ λΉμΉΈμ λ€μ΄κ° μλ§μ λ¨μ΄λ?
HTTP/1.1 101 Switching Protocols Connection: [λΉμΉΈ] Upgrade: HTTP/2.0
[... data stream switches to HTTP/2.0 with an appropriate response (as defined by new protocol) to the "GET /hello.txt" request ...]
(26) HTTP/1.1μ μ μ©λ ABNF κ·μΉμ λνμ¬ μλ μμμ€ μ ν©νμ§ μμ κ²μ κ³ λ₯΄μμ€.
γ±. "foo,bar" γ΄. "foo ,bar," γ·. "" γΉ. "," γ . ", ,"
(27) DNS 보μ νμ₯(DNSSEC, [RFC4033])μ μ λ’°μ±μ ν₯μμν€λ ν κ°μ§ λ°©λ²μ΄λ€. ( O / X )
(28) HTTP/0.9λ 첫λ²μ§Έ λ²μ μ΄λ€. ( O / X )
(29) μ¬λ¬ λΌμΈμ κ±Έμ³ μλ(βline foldingβ) ν€λ νλλ HTTP/1.1μ μ£Όμ λ¬Έλ² μ€ νλμ΄λ€. ( O / X )
(30) HTTP/1.1 μ HTTP/0.9 μμ²μ μ§μν΄μΌνλ€. ( O / X )
(31) Pipeliningμ GET/HEADμλ μ μ©νμμλ λ°λ©΄, POST/PUTμμλ μ μ©λΆκ°λ₯νλ€. ( O / X )
λ΅μ.
(1) Content-Lengthλ body μ 체 κΈΈμ΄μ΄λ€. ( O / X )
(2) HTTP/1.1μ Intermediaries (μ€κ°μ)κ° μλ κ²μ? 4
(3) cacheλ?
"cache"λ μ΄μ μλ΅ λ©μμ§μ λ‘컬 보κ΄μμ΄κ³ λ©μμ§μ μ μ₯, κ²μ, μμ λ₯Ό κ΄λ¦¬ νλ μλΈ μμ€ν μ΄λ€. μΊμλ μΊμ κ°λ₯ν μλ΅μ μ μ₯νμ¬ ν₯ν λμΌν μμ²μ λν μλ΅ μ κ°κ³Ό λ€νΈμν¬ λμν μ¬μ©μ μ€μΌ μ μλ€.
(4) μΊμλ μλ²κ° ν°λ μν μ νλ λμμλ μ¬μ©λ μ μλ€. ( O / X )
(5) Hostμ Connection ν€λ νλλ HTTP/1.1μ€μ μ¬λΆμ κ΄κ³ μμ΄ λͺ¨λ HTTP/1.xꡬνμ μν΄ κ΅¬νλμ΄μΌ νλ€. ( O / X )
(6) HTTPλ μ μ‘ νλ‘ν μ½κ³Ό λ 립μ μ΄μ§λ§, μ΄λ¦ μμ νλ‘μΈμ€λ κΆνμ μ€μ νλ TCPμ μμ‘΄νκΈ° λλ¬Έμ βhttpβ schemeμ TCPκΈ°λ° μλΉμ€μλ§ νμ λλ€. ( O / X )
(7) λ€μμ URI λͺ μΉμΌλ‘ νμνμμ€.
, http://example.com:80/~smith/home.html ?a=3
scheme:host:port/path?query
(8) HTTP-messageμμ header-fieldλ 무νν λ€μ΄κ° μ μλ€. ( O / X )
(9) HTTP-messageμμ header-fieldμ message-bodyμ¬μ΄μλ CRLF νλκ° λ€μ΄κ°λ€. ( O / X )
HTTP-message = start-line *( header-field CRLF ) CRLF [ message-body ]
2κ°κ° λ€μ΄κ°λ€.
(10) HTTP-messageλ CRLF, start-line, header-field, message-body, end-lineμΌλ‘ ꡬμ±λΌμλ€. ( O / X )
(11) λ€μ μλ§μ κ²μ μ§μ§μΌμμ€.
1. Request Line
2. Status Line
(12) ν€λ νλλ₯Ό 무μνλ©΄ μλ²μ smuggling 곡격 μ·¨μ½μ±μ΄ μ¦κ°νλ€. smuggling 곡격 μ΄λ?
Request smuggling([Linhart])μ λ€μν μμ μ κ°μ νλ‘ν μ½ κ΅¬λ¬Έ λΆμμ μ°¨μ΄λ₯Ό μ΄μ©νμ¬ κ²μΌλ‘ 보기μλ 무ν΄ν μμ² λ΄μμ μΆκ° μμ²(λ€λ₯Έ κ²½μ° μ μ± μ μν΄ μ°¨λ¨λκ±°λ λΉνμ±νλ μ μμ)μ μ¨κΈ°λ κΈ°μ μ΄λ€.
(13) μμ²μμ λ©μμ§ λ³Έλ¬Έμ΄ μμΌλ©΄ Content-Length λλ Transfer-Encoding ν€λ νλλ‘ νμλλ€. ( O / X )
(14) μλ΅μμ λ©μμ§ λ³Έλ¬Έμ μ‘΄μ¬ μ¬λΆλ μλ΅νλ μλ΅ μν μ½λμ λ°λΌ λ¬λΌμ§λ€. ( O / X )
μλ΅μμ λ©μμ§ λ³Έλ¬Έμ μ‘΄μ¬ μ¬λΆλ μλ΅νλ μμ² λ©μλμ μλ΅ μν μ½λμ λ°λΌ λ¬λΌμ§λ€.
(15) λ©μμ§μ Transfer-Encoding ν€λ νλκ° μλ κ²½μ°, Content-Length ν€λ νλμ κ°μ μ«μ ν¬κΈ°μ μκ΄μμ΄ λͺ¨λ λ€μ΄ κ° μ μλ€. ( O / X )
Content-Length = 1*DIGIT
(16) λ°μ μλ Transfer-Encoding ν€λ νλλ₯Ό ν¬ν¨νλ λ©μμ§μμ Content-Length ν€λ νλλ ν¬ν¨ ν μ μλ€. ( O / X )
λ°μ μλ Transfer-Encoding ν€λ νλλ₯Ό ν¬ν¨νλ λ©μμ§μμ Content-Length ν€λ νλλ₯Ό 보λ΄λ©΄ μ λλ€.
(17) Content-Length νλ κ°μ΄ 0λ³΄λ€ ν¬κ±°λ κ°μΌλ©΄ μ ν¨νλ€. ( O / X )
(18) connect μμ²μ λν 2xx (μ±κ³΅) μλ΅μ Content-Length λλ Transfer-Encodingλ 무μλλ€. ( O / X )
connect μμ²μ λν 2xx (μ±κ³΅) μλ΅μ ν€λ νλλ₯Ό λλ΄λ κ²μΌλ‘ κ°μ£Όλλ―λ‘ λΉ μ€ λ°λ‘ λ€μ μ°κ²°μ΄ ν°λμ΄ λ¨μ μλ―Ένλ€.
(19) μ μ‘ μ½λ©(Transfer coding) μ΄λ¦μ λ€νΈμν¬λ₯Ό ν΅ν΄ "safe transport" μ 보μ₯νκΈ° μν μΈμ½λ© λ³νμΌλ‘ μ¬μ©λλ€. ( O / X )
(20) Request Targetμ κ΄ν λ΄μ©μ΄λ€. μλ§μ κ²μ μ§μ§μΌμμ€.
origin-form
2. absolute-form
(21) HTTP λ©μμ§μ κΈ°λ°μ μ΄λ£¨λ μ μ‘ λλ μΈμ κ³μΈ΅ 컀λ₯μ νλ‘ν μ½κ³Ό λ 립μ μ΄λ€. ( O / X )
(22) Connection κ³Ό Keep-Alive κ°μ μ°κ²°-μ§μ (Connection-specific) ν€λ νλλ€μ HTTP/2μμ κΈμ§λλ€. ( O / X )
(23) βcloseβ 컀λ₯μ μ΅μ μ νμ¬ μμ²/μλ΅ ν 컀λ₯μ μ΄ μ§μλμ§ μμμ μ리λ λ° μ¬μ©λλ€. ( O / X )
(24) λ€μμ http/1.1μμ μ΄λ λΆλΆμ κ΄ν λ΄μ©μΈκ°?
pipelining, HTTP/2.x μ΄ λμ€λ©΄μ λ©ν°νλμ± μκ³ λ¦¬μ¦μΌλ‘ λ체λλ€.
(25) λ€μ λΉμΉΈμ λ€μ΄κ° μλ§μ λ¨μ΄λ?
HTTP/1.1 101 Switching Protocols Connection: upgrade Upgrade: HTTP/2.0
[... data stream switches to HTTP/2.0 with an appropriate response (as defined by new protocol) to the "GET /hello.txt" request ...]
(26) HTTP/1.1μ μ μ©λ ABNF κ·μΉμ λνμ¬ μλ μμμ€ μ ν©νμ§ μμ κ²μ κ³ λ₯΄μμ€.
γ·, γΉ, γ
(27) DNS 보μ νμ₯(DNSSEC, [RFC4033])μ μ λ’°μ±μ ν₯μμν€λ ν κ°μ§ λ°©λ²μ΄λ€. ( O / X )
(28) HTTP/0.9λ 첫λ²μ§Έ λ²μ μ΄λ€. ( O / X )
(29) μ¬λ¬ λΌμΈμ κ±Έμ³ μλ(βline foldingβ) ν€λ νλλ HTTP/1.1μ μ£Όμ λ¬Έλ² μ€ νλμ΄λ€. ( O / X )
λ μ΄μ μ¬μ©νμ§ μλλ€.
(30) HTTP/1.1 μ HTTP/0.9 μμ²μ μ§μν΄μΌνλ€. ( O / X )
(31) Pipeliningμ GET/HEADμλ μ μ©νμμλ λ°λ©΄, POST/PUTμμλ μ μ©λΆκ°λ₯νλ€. ( O / X )
Last updated
Was this helpful?