π μν μ½λ
: ν΄λΌμ΄μΈνΈκ° λ³΄λΈ μμ²μ μ²λ¦¬ μνλ₯Ό μλ΅μμ μλ €μ£Όλ κΈ°λ₯
π 1xx (Informational): μμ²μ΄ μμ λμ΄ μ²λ¦¬μ€
π 2xx (Successful): μμ² μ μ μ²λ¦¬
π 3xx (Redirection): μμ²μ μλ£νλ €λ©΄ μΆκ° νλμ΄ νμ
π 4xx (Client Error): ν΄λΌμ΄μΈνΈ μ€λ₯, μλͺ»λ λ¬Έλ²λ±μΌλ‘ μλ²κ° μμ²μ μνν μ μμ
π 5xx (Server Error): μλ² μ€λ₯, μλ²κ° μ μ μμ²μ μ²λ¦¬νμ§ λͺ»ν¨
* ν΄λΌμ΄μΈνΈκ° μΈμν μ μλ μν μ½λλ₯Ό μλ²κ° λ°ννλ©΄? 첫λ²μ§Έ μ리 μ«μλ‘ ν΄μν΄μ μ²λ¦¬. (200λμΈμ§ 400λμΈμ§ λ±)
π 2xx (Successful): ν΄λΌμ΄μΈνΈμ μμ²μ μ±κ³΅μ μΌλ‘ μ²λ¦¬
π 200 OK: μμ² μ±κ³΅
π 201 Created: μμ² μ±κ³΅ν΄μ μλ‘μ΄ λ¦¬μμ€κ° μμ±λ¨.
π 202 Accepted: μμ²μ΄ μ μλμμΌλ μ²λ¦¬κ° μλ£λμ§ μμμ.
* μ) λ°°μΉ μ²λ¦¬μ κ²½μ°. μμ² μ μ ν 1μκ° λ€ λ°°μΉ νλ‘μΈμ€κ° μμ²μ μ²λ¦¬ν¨.
π 204 No Content: μλ²κ° μμ²μ μ±κ³΅μ μΌλ‘ μννμ§λ§, μλ΅ νμ΄λ‘λ λ³Έλ¬Έμ λ³΄λΌ λ°μ΄ν°κ° μμ.
* μ) μΉ λ¬Έμ νΈμ§κΈ°μ saveλ²νΌ λλ₯Έλ€κ³ κ²°κ³Ό λ΄μ©μ΄ μκΈ°λ κ²μ μλ. κ·Έλ₯ κ°μ νλ©΄ μ μ§νλ©΄ λ¨. 204 λ©μΈμ§λ§μΌλ‘ μ±κ³΅μ μΈμνκΈ°λ§ νλ©΄ λ¨.
π 3xx (Redirection): μμ²μ μλ£νκΈ° μν΄ μ μ μμ΄μ νΈμ μΆκ° μ‘°μΉ νμ
π 리λ€μ΄λ μ : μΉ λΈλΌμ°μ λ 3xx μλ΅μ κ²°κ³Όμ Location ν€λκ° μμΌλ©΄, Location μμΉλ‘ μλ μ΄λ. ν΄λΌμ΄μΈνΈκ° URLμ λ°κΏ.
π μꡬ 리λ€μ΄λ μ - νΉμ 리μμ€μ URIκ° μꡬμ μΌλ‘ μ΄λ (301, 308)
λ λ€ κΈ°λ₯μ κ°μλ°,
π 301 Moved Permanently
* 리λ€μ΄λ νΈμ μμ² λ©μλκ° GETμΌλ‘ λ³νκ³ , λ³Έλ¬Έμ΄ μ κ±°λ μ μμ. -> κ²°κ³Όμ μΌλ‘λ μλ‘μ΄ νμ΄μ§κ° 보μ¬μ§.
π 308 Permanent Redirect
* 리λ€μ΄λ νΈμ μμ² λ©μλμ λ³Έλ¬Έ μ μ§(μ²μ POSTλ₯Ό 보λ΄λ©΄ 리λ€μ΄λ νΈλ POST μ μ§)
* μ€λ¬΄μμλ μ μ°μ΄μ§ μλ μνμ½λ(λΌκ³ νλ€)
π μΌμ 리λ€μ΄λ μ - μΌμμ μΌλ‘ URI λ³κ²½ (302, 307, 303)
* λ°λΌμ κ²μ μμ§ λ±μμ URLμ λ³κ²½νλ©΄ μλ¨.
λ§μ°¬κ°μ§λ‘ μΈ κ°μ§ λͺ¨λ κΈ°λ₯μ λ€ κ°μλ°,
π 302 Found
* 리λ€μ΄λ νΈμ μμ² λ©μλκ° GETμΌλ‘ λ³νκ³ , λ³Έλ¬Έμ΄ μ κ±°λ μ μμ. (λλΆλΆ GETμΌλ‘ λ³ν¨.)
* μ¬μ€ μ²μ 302 μ€νμ μλλ HTTP λ©μλλ₯Ό μ μ§νλ κ²μ΄μμ§λ§ λλΆλΆμ μΉ λΈλΌμ°μ λ€μ΄ λ€ GETμΌλ‘ λ°κΏλ²λ¦¬λ€..?
* κ·Έλμ μ΄κ±Έ λμ νκΈ° μν΄ λͺ νν 307, 303μ΄ λ±μ₯
π 307 Temporary Redirect
* 리λ€μ΄λ νΈμ μμ² λ©μλμ λ³Έλ¬Έ μ μ§ (μμ² λ©μλλ₯Ό λ³κ²½νλ©΄ μλ¨.)
π 303 See Other
* 리λ€μ΄λ νΈμ μμ² λ©μλκ° GETμΌλ‘ λ³κ²½
π PRG: Post/Redirect/Get
* λ§μ§λ§ μμ²μ΄ POSTμΈ μνμμ μλ‘κ³ μΉ¨νλ©΄? λ§μ§λ§ μμ²μ΄ POSTμ΄λ―λ‘ λ€μ μμ²λΌμ μ€λ³΅λ¨.
-> POST μμ² νμ κ²°κ³Όλ‘ λμ€λ νλ©΄μ GET λ©μλλ‘ λ¦¬λ€μ΄λ νΈ!
-> URLμ΄ μ΄λ―Έ POSTμμ GETμΌλ‘ 리λ€μ΄λ νΈ λμμΌλ―λ‘ μλ‘κ³ μΉ¨ν΄λ GETμΌλ‘ κ²°κ³Ό νλ©΄λ§ μ‘°ν~!
π νΉμ 리λ€μ΄λ μ - κ²°κ³Ό λμ μΊμ μ¬μ©
π 300 Multiple Choices
* μμλλ€.
π 304 Not Modified
* μΊμλ₯Ό λͺ©μ μΌλ‘ μ¬μ©.
* ν΄λΌμ΄μΈνΈμκ² λ¦¬μμ€κ° μμ λμ§ μμμμ μλ €μ€. -> λ‘컬pcμ μ μ₯λ μΊμ μ¬μ¬μ©.
* ν΄λΌμ΄μΈνΈ: λ°μ΄ν° λ€μ 보λ΄μ€! -> μλ²: μΊμ μ¨!
* μλ΅μ λ©μΈμ§ λ°λλ₯Ό ν¬ν¨νλ©΄ μλ¨. (λ‘컬 μΊμλ₯Ό μ¬μ©ν΄μΌ νλ―λ‘)
π 4xx (Client Error): ν΄λΌμ΄μΈνΈ μ€λ₯
• ν΄λΌμ΄μΈνΈμ μμ²μ μλͺ»λ λ¬Έλ²λ±μΌλ‘ μλ²κ° μμ²μ μνν μ μμ.
• μ€λ₯μ μμΈμ΄ ν΄λΌμ΄μΈνΈμ μμ.
• μ€μ! ν΄λΌμ΄μΈνΈκ° μ΄λ―Έ μλͺ»λ μμ², λ°μ΄ν°λ₯Ό 보λ΄κ³ μκΈ° λλ¬Έμ, λκ°μ΄ μ¬μλν΄μ μμ²ν΄λ κ³μ μ€ν¨ν¨.
π 400 Bad Request
* ν΄λΌμ΄μΈνΈκ° μλͺ»λ μμ²μ ν΄μ μλ²κ° μμ²μ μ²λ¦¬ν μ μμ.
• μμ² κ΅¬λ¬Έ, λ©μμ§ λ±λ± μ€λ₯
• ν΄λΌμ΄μΈνΈλ μμ² λ΄μ©μ λ€μ κ²ν νκ³ , 보λ΄μΌν¨.
• μ) μμ² νλΌλ―Έν°κ° μλͺ»λκ±°λ, API μ€νμ΄ λ§μ§ μμ λ
π 401 Unauthorized
* ν΄λΌμ΄μΈνΈκ° ν΄λΉ 리μμ€μ λν μΈμ¦μ΄ νμν¨
• μΈμ¦(Authentication) λμ§ μμ.
• 401 μ€λ₯ λ°μμ μλ΅μ WWW-Authenticate ν€λμ ν¨κ» μΈμ¦ λ°©λ²μ μ€λͺ
π 403 Forbidden
* μλ²κ° μμ²μ μ΄ν΄νμ§λ§ μΉμΈμ κ±°λΆν¨.
π 404 Not Found
* μμ² λ¦¬μμ€λ₯Ό μλ²μμ μ°Ύμ μ μμ.
* λλ ν΄λΌμ΄μΈνΈκ° κΆνμ΄ λΆμ‘±ν 리μμ€μ μ κ·Όν λ ν΄λΉ 리μμ€λ₯Ό μ¨κΈ°κ³ μΆμ λ
π 5xx (Server Error): μλ² μ€λ₯
* μλ² λ¬Έμ λ‘ μ€λ₯ λ°μ
* μλ²μ λ¬Έμ κ° μκΈ° λλ¬Έμ μ¬μλ νλ©΄ μ±κ³΅ν μλ μμ. (λ³΅κ΅¬κ° λλ€λ©΄ λ±λ±)
π 500 Internal Server Error
* μλ² λ¬Έμ λ‘ μ€λ₯ λ°μ, μ λ§€νλ©΄ 500 μ€λ₯
π 503 Service Unavailable
* μλΉμ€ μ΄μ© λΆκ°
* κ±°μ λ³Ό μ μκ³ λ°λ‘ 500μ΄ λκ² μ§
* μλ² μ€λ₯(5xx)λ μ§μ§ μ‘°μ¬ν΄μΌ ν¨. μλ₯Ό λ€μ΄ κ³ κ°μ΄ μλͺ»ν κ²½μ°. μλ² μ€λ₯λ‘ μ²λ¦¬νλ©΄ μλ¨!
* μλ² λ‘μ§μ΄λ 쿼리, DBμ λ¬Έμ κ° μμ λλ§ μλ² μ€λ₯!!
'Web > HTTP' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μΊμ (0) | 2022.01.12 |
---|---|
HTTP ν€λ - μΌλ° ν€λ (0) | 2022.01.11 |
HTTP API μ€κ³ μμ (0) | 2022.01.11 |
HTTP λ©μλμ νμ© (0) | 2022.01.10 |
HTTP κΈ°λ³Έ κ°λ (0) | 2022.01.10 |