Open hidaehyunlee opened 4 years ago
μ¦μ μμ²μ ν΄λΌμ΄μΈνΈκ° μλ²μκ² λ³΄λ΄κ³ μλ΅μ μλ²κ° ν΄λΌμ΄μΈνΈμκ² λ³΄λ λλ€
보좩 HTTP ν΅μ μ κΈ°λ³Έμ μΌλ‘ 'μμ²'κ³Ό 'μλ΅'μ λ°λ³΅μ λλ€. ν΄λΌμ΄μΈνΈλ 'GET' 'POST'μ κ°μ μμ²λ©μλμ 리μμ€μ URL λ±μ μμ²λ©μΈμ§μ λ΄μ μλ²μκ² μ μ‘ν©λλ€. μλ²λ ν΄λΌμ΄μΈνΈλ‘λΆν° λ°μ μμ²λ©μΈμ§λ₯Ό μ½κ³ κ·Έμ λ°λ₯Έ μ²λ¦¬ ν, μμ μ κ²°κ³Ό λ±μ μλ΅λ©μΈμ§μ λ΄μ λ€μ ν΄λΌμ΄μΈνΈμκ² μ μ‘ν©λλ€. μμ²ν μμ μ κ²°κ³Όλ μλ΅λ©μΈμ§μ μνμ½λλ‘ μ½κ² νμΈμ΄ κ°λ₯ν©λλ€. μλ₯Ό λ€μ΄ ν΄λΌμ΄μΈνΈκ° μμ²ν μμ μ΄ μ±κ³΅μ μΌλ‘ μ΄λ£¨μ΄μ‘μΌλ©΄ μλ²λ μνμ½λ 200μ μ μ‘νκ³ , ν΄λΌμ΄μΈνΈμΈ‘ μ€λ₯κ° μλ€λ©΄ 400λ²λ μνμ½λλ₯Ό, μλ²μΈ‘ μ€λ₯κ° μλ€λ©΄ 500λ²λ μνμ½λλ₯Ό μ μ‘ν©λλ€.
μ¦μ HTTP νλ‘ν μ½μ HTTP λ©μΈμ§λ€μ 보λμΌλ‘μ¨ μ΄λ£¨μ΄μ§λλ€. HTTP λ©μΈμ§μλ HTTP μμ² λ©μΈμ§μ HTTP μλ΅λ©μΈμ§κ° μμ΅λλ€. μμ² λ©μΈμ§λ ν΄λΌμ΄μΈνΈμμ μλ²λ‘ 보λ΄μ§λ©° μλ΅ λ©μΈμ§λ μλ²μμ ν΄λΌμ΄μΈνΈλ‘ 보λ΄μ§λλ€.
μμ² λ©μΈμ§λ‘ ν΄λΌμ΄μΈνΈλ μλ²μ μλ 리μμ€λ₯Ό μμ²ν©λλ€. κ·Έμ λν μλ΅ λ©μΈμ§λ‘ μλ²λ λ΄λΆμ 리μμ€λ₯Ό ν΄λΌμ΄μΈνΈμκ² λ³΄λ΄μ€λλ€.
μ¦μ HTTPλ μ¬μ©μ, ν΄λΌμ΄μΈνΈ(λΈλΌμ°μ )κ° μΈν°λ·, μΉ μμμ νμν λ°μ΄ν°λ₯Ό(ν μ€νΈ, μ΄λ―Έμ§, λΉλμ€ λ±) μ»κΈ° μν΄ μ¬μ©νλ νλ‘ν μ½ μ λλ€. ν΄λΌμ΄μΈνΈλ λ°μ΄ν°λ₯Ό μ»κΈ° μν΄ μνλ λ°μ΄ν°λ₯Ό κ°μ§ μλ²μκ² HTTP μμ² λ©μΈμ§λ₯Ό 보λ΄κ³ , μλ²λ μ΄μ μλ§κ² μλ΅ν΄μ£Όλ μμ€ν μ λλ€. λ§ κ·Έλλ‘ μλ΅μ΄ λ¨Όμ μΌ μ μμΌλ©°, μμ²μ΄ μμ΄μΌ κ·Έ νμ μλ΅μ΄ μμ΅λλ€.
μλ₯Ό λ€μ΄) λ§₯λΆ 16μΈμΉλ₯Ό μ¬μ©νκ³ μλ kukimμ΄ safari λΈλΌμ°μ λ₯Ό μ¬μ©νμ¬ μλ°μ ννμ΄μ§μ "μ΅μ μλ² μ€νμ λΆν¬λ"μ λ¬Έμλ₯Ό λ³΄κ³ μΆμ΄ν©λλ€. μ΄λ ν΄λΌμ΄μΈνΈλ λμ μλ―Έλ‘λ kukim μ¬λμ΄κ³ μ’μ μλ―Έλ‘λ μμ²μ λμ ν΄μ£Όλ μ ν리μΌμ΄μ μΈ safari λΈλΌμ°μ μ λλ€. ν΄λΌμ΄μΈνΈκ° μλ°μ μλ²κ° κ°μ§κ³ μλ "μ΅μ μλ² μ€νμ λΆν¬λ" λ¬Έμ μΉνμ΄μ§μ HTTP μμ²μ νκ³ μλ°μ μλ²λ μμ² λ©μΈμ§λ₯Ό 체ν¬νκ³ μ΄μ μλ§κ² μλ΅ν΄μ£Όλ κ² μ λλ€.
μ¦μ httpλ ν΄λΌμ΄μΈνΈμ μλ²κ° λ°μ΄ν°λ₯Ό μ£Όκ³ λ°κΈ° μν νλ‘ν μ½μ λλ€. ν΄λΌμ΄μΈνΈμμ μλ²λ‘ μμ²μ 보λ΄κ³ μλ²λ μ΄μ λν μλ΅μ ν©λλ€.
μλ₯Όλ€λ©΄, ν΄λΌμ΄μΈνΈμΈ‘μμ μλ²λ‘ λ°μ΄ν°λ₯Ό μ‘°ν(get)νκ±°λ μ μ‘ν λ(post) httpμμ²μ 보λ λλ€.
μλ²λ μμ μ΄ κ°κ³ μλ 리μμ€λ₯Ό μλ΅(getμ λν)μ νκ±°λ μμ²(post)μΌλ‘ λ°μ λ°μ΄ν°λ₯Ό μμ± λλ λ³κ²½μ νλ©° μ΄μ λν μ±κ³΅κ³Ό μ€ν¨ λ±μ μνμ½λλ‘ μλ΅ν μ μμ΅λλ€
보좩 HTTPμμ² ν΄λΌμ΄μΈνΈμΈ‘μμ URLμ μ΄μ©ν΄ μλ²μ λ°μ΄ν° μμ²ν μ μμ΅λλ€. Http μμ² λ©μλλ₯Ό μ¬μ©ν΄ λ°μ΄ν°μ λν νΉμ λμμ μνν μ μμ
GET
POST
PUT
DELETE λ± λ°μ΄ν°μ λν μ‘°ν, μμ±, λ³κ²½, μμ λμμ Http μμ² λ©μλλ‘ μ μ.
HEAD : μλ² ν€λμ 보 νλ, Response Bodyλ°ν μν¨
OPTIONS : μλ² μ΅μ νμΈμμ² CORSμμ μ¬μ©
HTTPμλ΅ μλ²μΈ‘μμ μ€μ ν΄μ£Όλ μλ΅ νλ‘ νΈμλ κ°λ°μλ μ΄ μνμ½λλ‘ μλ¬μ²λ¦¬ν μ μμ 200~ 500λ²λκΉμ§ μμ 200 : μ±κ³΅ 300 : 리λλ μ 400 : ν΄λΌμ΄μΈνΈμλ¬ 500: μλ²μλ¬ λ±μΌλ‘ μλ²μ νμ¬ μνλ₯Ό μνμ½λλ‘ μλ΅λ°μ μ μμ.
HTTP(Hyper Text Transfer Protocol)μ μΉμμ λΈλΌμ°μ μ μλ² κ°μ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°κΈ° μν λ°©μμΌλ‘ λΈλΌμ°μ (ν΄λΌμ΄μΈνΈ)λ μλ²μκ² μμ²μ, μλ²λ μλ΅μ ν©λλ€.
μμ²μ μμμ€, ν€λ, λΉμ€, λ³Έλ¬ΈμΌλ‘ μ΄λ£¨μ΄μ§λ©° λ³Έλ¬Έμ λΉμ΄μμ μ μλ€.
μλ΅λ μμμ€, ν€λ, λΉμ€, λ³Έλ¬ΈμΌλ‘ μ΄λ£¨μ΄μ Έμλ€.
HTTPλ ν΄λΌμ΄μΈνΈ-μλ² νλ‘ν μ½μ΄λ©°, ν΄λΌμ΄μΈνΈμ μλ²λ κ°λ³μ μΈ λ©μμ§ κ΅νμ μν΄ ν΅μ ν©λλ€. ν΄λΌμ΄μΈνΈ(λ³΄ν΅ λΈλΌμ°μ )μ μν΄ μ μ‘λλ λ©μμ§λ₯Ό μμ²(requests)μ΄λΌκ³ λΆλ₯΄λ©°, κ·Έμ λν΄ μλ²μμ μλ΅μΌλ‘ μ μ‘λλ λ©μμ§λ₯Ό μλ΅(responses)μ΄λΌκ³ λΆλ¦ λλ€.
μμ²μ λ€μμ μμλ€λ‘ ꡬμ±λ©λλ€.
HTTP λ©μλ
: ν΄λΌμ΄μΈνΈκ° μννκ³ μ νλ λμμ μ μν GET(리μμ€λ₯Ό κ°μ Έμ΄), POST(html νΌμ λ°μ΄ν°λ₯Ό μ μ‘ν¨), OPTIONS, HEAD λ±Request target
: κ°μ Έμ€λ €λ 리μμ€μ κ²½λ‘(Path)HTTP version
: λ²μ μ λ°λΌ μμ² λ©μμ§ κ΅¬μ‘°λ λ°μ΄ν°κ° λ€λ₯Ό μ μμ΄μ λͺ
μν΄μ€μΌν¨.:
(μ½λ‘ )μ κΈ°μ€μΌλ‘ ν€μ κ°
μΌλ‘ μ΄λ£¨μ΄μ§λ©°, λ§μ§λ§μ€μ λΉμ€λ‘ λλμΌνλ€.HTTP version
status code
: μμ²μ μ±κ³΅ μ¬λΆμ μ€ν¨νλ€λ©΄ κ·Έ μ΄μ λ₯Ό λνλ΄λ μ½λ.100
β199
),200
β299
),300
β399
),400
β499
),500
β599
).status message
: μνμ½λμ λν 짧μ μ€λͺ
. μ무 μν₯λ ₯ μμ.HTTPλ μΈν°λ· μμμ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°λ νλ‘ν μ½μΌλ‘, μΌλ ¨μ ν΄λΌμ΄μΈνΈμ μμ² λ©μμ§ - μλ²μ μλ΅ λ©μμ§λ‘ μ΄λ£¨μ΄μ§λλ€. μμ² μμ΄ μλ΅μ΄ μ€λ κ²½μ°λ μμ΅λλ€.
μμ² λ©μμ§, μλ΅ λ©μμ§ λͺ¨λ [μμμ€, ν€λ, λ³Έλ¬Έ]μ ꡬμ±μ λ°λ₯΄λλ°, μμ² λ©μμ§μ μμμ€μ [λ©μλλͺ /μμ²URL/λ²μ ] μλ΅ λ©μμ§μ μμμ€μ [λ²μ /μνμ½λ/μ¬μ ꡬμ ]λ‘ λ¬Έλ²μ΄ μ‘°κΈ λ€λ¦ λλ€. μ¬κΈ°μ λ©μλλ μ μ μ€λͺ λλ Έλ GET POST μΈμλ HEAD DELETE PUT λ± λͺ©μ μ λ°λΌ λͺκ°μ§ λ©μλ μ’ λ₯κ° λ μμ΅λλ€. μνμ½λμ μ¬μ ꡬμ μ μ°λ¦¬κ° νν μλ 404 not found μ²λΌ, 100λ²λλ μ 보μ λ¬, 200λ²λλ μ±κ³΅, 300λ²λλ 리λ€μ΄λ μ , 400λ²λλ ν΄λΌμ΄μΈνΈμ μλͺ»λ μμ², 500λ²λλ μλ² μλ¬μ κ΄ν μνλ₯Ό μ λ¬νλ μ½λμ΄κ³ , μ¬μ ꡬμ μ μ΄μ λν μ€λͺ μΌλ‘, νν μ°λ ꡬμ λ€μ μμ§λ§ μ격νκ² μ νλ κ²μ μλλλ€. μ΄λ₯Όν λ©΄ β404 κ·Έλ° νμ΄μ§λ μμ΄μ.β λΌκ³ λ°κΏ μ μλ κ²μ΄μ£ .
κ·Έ λ€μ ν€λ. ν€λλ μΌλ° ν€λ, μμ² ν€λ, μλ΅ ν€λ, μν°ν° ν€λ λ±μ΄ μμ΅λλ€. ν€λλ
ν€λμ΄λ¦: λ΄μ© ν€λμ΄λ¦: λ΄μ© ν€λμ΄λ¦: λ΄μ© μ΄λ° μμΌλ‘ μ κ³ , 맨 λ§μ§λ§ ν€λ λ€μμ€μ CRLFλ₯Ό λ£μ΄μ ν€λκ° λλκ³ λ³Έλ¬Έμ΄ μμλ¨μ μ립λλ€.
μΌλ° ν€λλ μμ²κ³Ό μλ΅ λ μͺ½μμ λ€ μΈ μ μλ μ λλ΄ν λ΄μ©λ€ - λ μ§, λ°μ΄ν°μ MIME λ²μ λ± - μ μ릴 μ μλ ν€λλ€μ΄κ³ ,
μμ² ν€λλ ν΄λΌμ΄μΈνΈ μΈ‘μμ μμ μ νλμ¨μ΄ λ° μννΈμ¨μ΄ μ¬μ λ° Accept ν μ μλ λ°μ΄ν°μ μ’ λ₯λ€μ μ μ΄ λ³΄λ΄κ±°λ, 쑰건λΆλ‘ λ°μ΄ν°λ₯Ό μμ² νκ±°λ, 보μ μΈμ¦μ μλ²μκ² μꡬνλ λ±μ μμ μ μννκΈ° μν΄ μ¬μ©νλ ν€λλ€μ λλ€.
μλ΅ ν€λλ μλ²κ° 보λ΄λ 리μμ€μ λν μ 보μ μ ν¨κΈ°κ°, μ μ λ, 보μ κ΄λ ¨ ν€λ λ±μ΄ μμ΅λλ€.
μν°ν° ν€λλ λ³Έλ¬Έμ κΈΈμ΄μ νμ λ± λ³Έλ¬Έμ κ΄ν μ 보λ₯Ό λ΄λ ν€λμ λλ€. μΆν μ΄ ν€λμ μ½μ κ°μ λΉκ΅λ₯Ό ν΅ν΄ λ°μ΄ν°κ° μ¨μ νκ² μ μ‘μλ£ λμλμ§ νμΈν μ μμ΅λλ€.
κ·Έλ¦¬κ³ λ³Έλ¬Έ. λ³Έλ¬Έμ λ°μ΄λλ¦¬λ‘ μ μ‘λλ μ½ν μΈ λ°μ΄ν°λ‘, λ°μ΄λλ¦¬λ‘ ννν μ μλ λ°μ΄ν°λ μ΄λ‘ μ 무μμ΄λ μΌλ§λ λ³΄λΌ μ μμ΅λλ€.
πππ»ππΌ HTTP μμ²κ³Ό μλ΅μ λν΄ μ€λͺ ν΄μ£ΌμΈμ. ππ½ππΎππΏ