December 28, 2020
HTTP λ 1.1 version μ κ·Όκ°μΌλ‘ νλ€. HTTP μ μλ‘μ΄ κ΅¬ν체 νλ‘ν μ½ QUIC μ΄ λμλ€λλ° μ κ·Έλ ꡬλ νκ³ λκΈ°μ.
a. λͺ¨λ HTTP μμ²μ headerμ bodyλ₯Ό κ°λλ€.
b. ν΄λΌμ΄μΈνΈμ μλ² κ° μμ²-μλ΅μ΄ μ΄λ£¨μ΄μ§λ κ³Όμ μ΄λ€.
c. λΈλΌμ°μ μ μλ²κ° ν΅μ ν μ μλλ‘ λ§λ€μ΄ μ£Όλ μ¬λ¬ νλ‘ν μ½ κ°μ΄λ° ν μ’ λ₯λ€.
d. μλ²κ° μ²λ¦¬ν μ μλ μμ²μ κ²½μ°, 400λ²λ status codeλ₯Ό λ°ννλ€.
e. μλ²λ ν΄λΌμ΄μΈνΈμ μμ²μ λν΄ λ¬΄μ‘°κ±΄ μλ΅μ λλ € μ£Όμ΄μΌ νλ€.
μ λ΅ : A, D
μλ²λ λ§λλ μ¬λ λλ¦λλ‘ μ΄λ―λ‘ λλ‘λ GET μμ² μμλ POST μ²λΌ body λ₯Ό λ΄μ λ³΄λΌ μ μμ§λ§ Restful νμ§ μλ€κ³ νλ€.
μλλ©΄ λͺ©μ μ λ§λ ꡬν λ°©λ²μ΄ μλκΈ° λλ¬Έμ΄λ€.
λͺ©μ μ λ§λ ꡬν λ°©λ²μ Restful μ΄λΌκ³ νλ€. μ¦ μλλ λμμΈμ΄ μλλΌλ μλ―Έμ΄λ€.
μ΄λ€ ννμ μ λ³΄λ‘ λ°μ΄ν°λ₯Ό κ΅μ²΄νκΈ° μν΄μ BODY λ₯Ό 보λ΄λ κ²μ΄λ€.
mdn http message λ₯Ό κ²μν΄μ μ½μ΄λ³΄μ.
https://developer.mozilla.org/ko/docs/Web/HTTP/Messages
Payload λ Body μ κ°μ λ§μ΄λΌ νλ€.
νμ΄λ‘λ - μ μ¬λ¬Όν, νΈλμ λ μ€μλ, λλ‘λΌλ νλ‘ν μ½μ μ΄μ©νλ νΈλμ΄ μλ€.
νΈλμ΄ μμ²μ μ€μ΄ 보λ΄μ λͺ©μ μ§μ κ°λ€ λμμ¨λ€ (μμ²κ³Ό μλ΅)
νΈλμ μ§μ μ€μ΄μΌ μμ²μ 보λΌλ κ°μ§ μκ²λ μ΄λ°λλ? λ°λλ κ°λ€. μ§ μ΄λ€.
a. http response μ΄λ€.
b. post λ©μλλ₯Ό μ¬μ©νλ€ - μ¬κΈ°μλ λͺ¨λ₯Έλ€.
c. response κ° μ±κ³΅μ μΌλ‘ μ΄λ£¨μ΄μ‘λ€λ μ¬μ€μ μ μ μλ€.
d. response μ payload λ html λ¬Έμμ΄μ΄λ€.
μ κΈ°λ Content-Type μ΄ text/html μ΄λ€?
https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types
λ€νΈμν¬ μμλ νμ₯μκ° μλ―Έκ° μκ³ MIME νμ μΌλ‘ 보λ΄λλ° μ¬κΈ°μ 보면 text λΆλΆμ text/plain, text/html, μ΄ μκ³ application λΆλΆμλ 보면 λμμλ€.
μ¬κΈ°μ μΉ κ°λ°μλ€μ μν μ€μν MIME νμ κΌ λ³Ό κ².
κ°μ₯ popular ν Content-Type μ application/json μ΄λ€.
κ΅¬κΈ κ²μμ°½μ μ λ ₯νλ λκΈμ? GET μμ², μ¦ payload κ° μ€λ €κ°λκ² μλκ³ , url parameter μ ?(λ¬Όμν) νλΌλ―Έν°κ° μ΄λ° μμΌλ‘ λ΄κ²¨μ Έ κ°λ€.
κ·Έλ°λ° μμ²μ΄ POST λΌλ©΄? μ€λ μ€νλ¦°νΈ λ§λ€μ΄μ λ€νΈμν¬ ν μ΄μ΄μ Headers 맨 μλ λ΄λ¦¬λ©΄ Request Payload μ λ¬Έμμ΄μ΄ μ€λ € μλ€!
μ λ΅ : b. POST λ©μλλ₯Ό μ¬μ©νλ€. κ° μ€λ΅.
μ λ΅ : POST
PUT, PATCH μ μ°¨μ΄ - payload μ 체λ₯Ό λ€ λ°κΎΌλ€. νΉμ μΌλΆλ§ λ°κΎΌλ€μ μ°¨μ΄λΌ κ³ νλ€.
PUT, PATCH λ κ·Έ λͺ©μ μ΄ ν΄λΉ 리μμ€ μ λ°μ΄νΈ μ΄λ―λ‘ (λκΈ μμ ) μ¬λ¬λ² μ€νν΄λ μλ²μμμ κ²°κ³Όλ λκ°λ€.
λ©±λ±νλ€. (idempotent) λ©±λ±μ±.
μ λ΅ : stateless, connectionless
πstateless : κ°κ° (μκΉλ³λ‘) μ μμ²μ λ 립μ μ΄λ€. μ¦ μνλ₯Ό μ μ₯νμ§ λͺ»νλ€λ μλ―Έ.
ν΄λΌμ΄μΈνΈμ μνλ₯Ό μ μ₯νλ μΏ ν€λ μΈμ κ°μ 보쑰 λκ΅¬κ° μμ΄μΌ μνλ₯Ό μ μ₯νμ§λ§ κΈ°λ³Έμ μΌλ‘ λͺ¨λ http μμ²μ κ°κ°μ΄ λ 립μ μ΄λ€.
πconnectionless : λ μ΄μμ 컀λ₯μ μ΄ μλ€. 무μ°κ²°μ±. νλ² μλ΅ μμ²μ μ£Όκ³ λ°μΌλ©΄ μ°κ²°μ΄ λ겨λ²λ¦°λ€. νλ²μ μμ² μλ΅μ΄ νκ³ λ ν μ°κ²° μνλ λμ΄μ§λ€.
νλ‘ν μ½, λλ©μΈ, ν¬νΈ μ λ€ κ°μμΌ Same-Origin μ΄λ€!