π€λ°°μ μμ½νκΈ°
HTTP μν μ½λμ λν΄μ μ€λͺ ν΄μ£ΌμΈμ.
HTTP μνμ½λλ ν΄λΌμ΄μΈνΈκ° λ³΄λΈ μμ²μ μ²λ¦¬ μνλ₯Ό μλ²μμ μλ΅ν΄μ£Όλ μ½λμ λλ€.
200λ²λ μ½λλ ν΄λΌμ΄μΈνΈκ° λ³΄λΈ μμ²μ΄ μ λλ‘ μ±κ³΅νμμ μλ €μ£Όλ μ½λμ΄κ³ , 300λ²λλ ν΄λΌμ΄μΈνΈμ μμ²μ΄ μλ£λλ €λ©΄ μΆκ°μ μΈ μ‘°μΉκ° νμνλ€λ λ»μ΄κ³ , location ν€λκ° μμΌλ©΄ location μμΉλ‘ 리λ€μ΄λ μ λλ€λ νΉμ§μ΄ μμ΅λλ€. 400λ²λ μ½λλ ν΄λΌμ΄μΈνΈμμ μλͺ»λ μ½λλ λ°μ΄ν°λ₯Ό 보λ΄μ λνλλ μλ¬μ½λμ΄κ³ , 500λ²λ μλ¬λ μλ²μ λ¬Έμ κ° μ겨μ λνλλ μλ¬μ½λ μ λλ€.
νλ‘μ νΈμμ λ©ν λ‘ μ μ λ§λ¬λ λΆμ΄ μΉ κ°λ°μλΌλ©΄ HTTP μνμ½λμ λν΄μλ λΉ μνκ² μκ³ μμ΄μΌ νλ€κ³ κ°μ‘°νμ ¨λλ° μ΄λ²μμμΌ μ λλ‘ κ³΅λΆν μ μμμ΅λλ€.
βοΈ HTTP μνμ½λ : ν΄λΌμ΄μΈνΈκ° λ³΄λΈ μμ²μ μ²λ¦¬ μνλ₯Ό μλ΅μμ μλ €μ£Όλ κΈ°λ₯
1xx (informational) : μμ²μ΄ μμ λμ΄ μ²λ¦¬μ€ ⇒ κ±°μ μ¬μ©λμ§ μμ
2xx (successful) : μμ² μ μ μ²λ¦¬
3xx (redirection) : μμ²μ μλ£νλ €λ©΄ μΆκ° νλμ΄ νμ
4xx (client error) : ν΄λΌμ΄μΈνΈ μ€λ₯, μλͺ»λ λ¬Έλ² λ±μΌλ‘ μλ²κ° μμ²μ μνν μ μμ
5xx (server error) : μλ² μ€λ₯, μλ²κ° μ μ μμ²μ μ²λ¦¬νμ§ λͺ»ν¨
βοΈ 2xx (μ±κ³΅)
β 200 OK
β 201 Created (ν΄λΌμ΄μΈνΈκ° μμ²ν μ¬νμ μλ²μμ 리μμ€λ₯Ό μμ±ν¨. μ£Όλ‘ postλ₯Ό μ¬μ©ν λ)
β 202 Accepted (μμ²μ΄ μ μλμμΌλ μ²λ¦¬κ° μλ£λμ§ μμ) ex λΉλκΈ° μ²λ¦¬
β 204 No Content (μλ²κ° μμ²μ μννμ§λ§, μλ΅ νμ΄λ‘λ λ³Έλ¬Έμ λ³΄λΌ λ°μ΄ν°κ° μμ) ⇒ κ²°κ³Ό λ΄μ©μ΄ μμ΄λ 204 λ©μΈμ§λ§μΌλ‘ μ±κ³΅μ μΈμν μ μλ€.
βοΈ 3xx (리λ€μ΄λ μ ) => μμ²μ μλ£νκΈ° μν΄ μ μ μμ΄μ νΈμ μΆκ° μ‘°μΉκ° νμ
⇒ μΉ λΈλΌμ°μ λ 3xx μλ΅ κ²°κ³Όμ location ν€λκ° μμΌλ©΄, location μμΉλ‘ μλμΌλ‘ μ΄λνλ€.
μꡬ 리λ€μ΄λ μ : 리μμ€μ uriκ° μꡬμ μΌλ‘ μ΄λν¨, κ²μ μμ§ λ±μμλ λ³κ²½μ μΈμ§ν μ μλ€.
β 301 moved permanently : 리λ€μ΄λ νΈ μμ² λ©μλκ° GETμΌλ‘ λ³νκ³ , λ³Έλ¬Έμ΄ μ κ±°λ μ μμ (μ€λ¬΄μ λ§μ΄ μ)
β 308 permanent redirect : 301κ³Ό κΈ°λ₯μ κ°κ³ , 리λ€μ΄λ νΈμ μμ² λ©μλμ λ³Έλ¬Έ μ μ§
μΌμ 리λ€μ΄λ μ : 리μμ€μ uriκ° μΌμμ μΌλ‘ λ³κ²½λ¨, κ²μ μμ§ λ±μμ urlμ λ³κ²½νλ©΄ μλλ€.
β 302 found : 리λ€μ΄λ νΈμ μμ² λ©μλκ° GETμΌλ‘ λ³νκ³ , λ³Έλ¬Έμ΄ μ κ±°λ μ μλ€.
β 303 see other : 302μ κΈ°λ₯μ κ°κ³ , 리λ€μ΄λ νΈμ μμ² λ©μλκ° GETμΌλ‘ λ³κ²½λ¨
β 307 temporary redirect : 302μ κΈ°λ₯μ κ°κ³ , 리λ€μ΄λ νΈμ μμ² λ©μλμ λ³Έλ¬Έ μ μ§(μμ² λ©μλ λ³κ²½ κΈμ§)
μΌμ 리λ€μ΄λ μ μ μν μ£Όλ¬Έ ν μ£Όλ¬Έ μλ£ νμ΄μ§λ₯Ό 보μ¬μ€ λ μ¬μ©νλ€. (PRG : POST/Redirect/GET)
βPRGλ₯Ό μ¬μ©X? ⇒ POSTλ‘ μ£Όλ¬Έ ν, μΉ λΈλΌμ°μ λ₯Ό μλ‘κ³ μΉ¨νλ©΄, μλ‘κ³ μΉ¨μ λ€μ μμ²νλ κ²μ΄κΈ° λλ¬Έμ μ€λ³΅ μ£Όλ¬Έμ΄ λ μ μλ€.
βPRGλ₯Ό μ¬μ©νλ€λ©΄? ⇒ POSTλ‘ μ£Όλ¬Έ ν, μΉ λΈλΌμ°μ λ₯Ό μλ‘κ³ μΉ¨νλ©΄ GET λ©μλλ‘ λ¦¬λ€μ΄λ νΈ ν΄μ μλ‘κ³ μΉ¨μΌλ‘ μΈν μ€λ³΅ μ£Όλ¬Έμ λ°©μ§ν μ μλ€.
νΉμ 리λ€μ΄λ μ :
β 304 not modified (μμ² λ§μ΄ μ) : μΊμλ₯Ό λͺ©μ μΌλ‘ μ¬μ©νλ€.
ν΄λΌμ΄μΈνΈμκ² λ¦¬μμ€κ° μμ λμ§ μμμμ μλ €μ€λ€. λ°λΌμ ν΄λΌμ΄μΈνΈλ λ‘컬pcμ μ μ₯λ μΊμλ₯Ό μ¬μ¬μ©νλ€. (μΊμλ‘ λ¦¬λ€μ΄λ νΈνλ€. ) => ν΄λΌμ΄μΈνΈμμ μμ²ν΄λ μλ²μμ λ°μ΄ν°λ₯Ό μλ΄λ €μ€λ€. μλλ©΄ μΊμκ° λ§λ£λμ§ μμμΌλκΉ! ⇒ λ€νΈμν¬ λ€μ΄λ‘λ μ©λμ΄ λ§μ΄ μ€μ΄λ λ€λ μ₯μ μ΄ μλ€.
304 μλ΅μ μλ΅μ λ©μΈμ§ λ°λλ₯Ό ν¬ν¨νλ©΄ μλλ€. (λ‘컬 μΊμλ₯Ό μ¬μ©ν΄μΌ νλ―λ‘)
βοΈ 4xx (ν΄λΌμ΄μΈνΈ μ€λ₯)
ν΄λΌμ΄μΈνΈμ μμ²μ μλͺ»λ λ¬Έλ² λ±μΌλ‘ μλ²κ° μμ²μ μνν μ μμ
μ€λ₯μ μμΈμ΄ ν΄λΌμ΄μΈνΈμ μλ€!!!
ν΄λΌμ΄μΈνΈκ° μ΄λ―Έ μλͺ»λ μμ², λ°μ΄ν°λ₯Ό 보λ΄κ³ μκΈ° λλ¬Έμ, λκ°μ΄ μ¬μλνλ©΄ κ³μ μλ₯κ° λλ€.
β 400 bad request : ν΄λΌμ΄μΈνΈκ° μλͺ»λ μμ²μ ν΄μ μλ²κ° μμ²μ μ²λ¦¬ν μ μμ
ν΄λΌμ΄μΈνΈλ μμ² λ΄μ©μ λ€μ κ²ν νκ³ , 보λ΄μΌνλ€. (μμ² νλΌλ―Έν°, api μ€ν λ±λ±)
β 401 unauthorized : ν΄λΌμ΄μΈνΈκ° ν΄λΉ 리μμ€μ λν μΈμ¦μ΄ νμν¨ (μ½κ² μ΄ν΄νμλ©΄ λ‘κ·ΈμΈ μλ¨)
401 μλ¬ λ°μμ, μλ΅μ www-authenticate ν€λμ ν¨κ» μΈμ¦ λ°©λ²μ μ€λͺ ν΄μ€μΌνλ€.
- μΈμ¦(authentication) = λ³ΈμΈμ΄ λꡬμΈμ§ νμΈ(λ‘κ·ΈμΈ)
- μΈκ°(authorization) = λ‘κ·ΈμΈν νμμ λν κΆν λΆμ¬(admin κΆνμ²λΌ νΉμ 리μμ€μ μ κ·Όν μ μλ κΆν, μΈμ¦μ΄ μμ΄μΌ μΈκ°κ° μλ€. )
β 403 forbidden : μλ²κ° μμ²μ μ΄ν΄νμ§λ§ μΉμΈμ κ±°λΆν¨ (μ½κ² μ΄ν΄νμλ©΄ λ‘κ·ΈμΈνμ§λ§ μ κ·Ό κΆν μμ)
μ£Όλ‘ μΈμ¦ μ격 μ¦λͺ μ μμ§λ§, μ κ·Ό κΆνμ΄ λΆμΆ©λΆν κ²½μ°
(admin μ격 μμ§λ§ admin λ±κΈμ 리μμ€μ μ κ·Όνλ κ²½μ°)
β 404 not found : μμ² λ¦¬μμ€λ₯Ό μ°Ύμ μ μμ
μμ² λ¦¬μμ€κ° μλ²μ μκ±°λ, ν΄λΌμ΄μΈνΈκ° κΆνμ΄ λΆμ‘±ν 리μμ€μ μ κ·Όν λ ν΄λΉ 리μμ€λ₯Ό μ¨κΈ°κ³ μΆμλ
βοΈ 5xx (μλ² μ€λ₯)
μλ²μ λ¬Έμ κ° μκΈ° λλ¬Έμ μ¬μλ νλ©΄ μ±κ³΅ν μλ μμ(λ³΅κ΅¬κ° λλ€λ©΄..)
β 500 internal server error : μλ² λ΄λΆ λ¬Έμ λ‘ μ€λ₯κ° λ°μ, μ 맀νλ©΄ 500 μ€λ₯
β 503 service unavailable : μλΉμ€ μ΄μ© λΆκ°
μλ²κ° μΌμμ μΈ κ³ΌλΆν λλ μμ λ μμ μΌλ‘ μ μ μμ²μ μ²λ¦¬ν μ μμ
retry-after ν€λ νλλ‘ μΌλ§λ€μ 볡ꡬλλμ§ λ³΄λΌ μ μλ€.
μ¬λ§ν΄μ 500λ μλ¬λ₯Ό λ§λ€μ΄μλ μλλ€. μ§μ§ μλ²μ λ¬Έμ κ° μμλ λ§λ€μ΄μΌνλ€.
π μλͺ»λ κ°λ μ λ¬μ΄ μλ€λ©΄ λκΈ λΆνλ립λλ€. μ μ μ±μ₯μ ν° λμμ΄ λ©λλ€π€
'π¬Computer Science > λ€νΈμν¬' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[TIL] μΊμ & κ²μ¦ν€λμ μ‘°κ±΄λΆ μμ² (0) | 2023.01.17 |
---|---|
[TIL] μΏ ν€ (0) | 2023.01.15 |
[TIL] ν΄λΌμ΄μΈνΈμμ μλ²λ‘ λ°μ΄ν° μ μ‘ (0) | 2023.01.10 |
[TIL] HTTP λ©μλ μ’ λ₯μ μμ± (0) | 2023.01.07 |
[TIL] HTTPμ HTTPμ νΉμ§ (0) | 2023.01.05 |