Web

HTTP

meteorqz6 2024. 11. 5. 13:04

HTTP 

HTTP๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์š”์ฒญ๊ณผ ์‘๋‹ต์˜ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ๋•Œ ์ผ๋ฐ˜์ ์œผ๋กœ JSON ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 

 

 

Header : ์š”์ฒญ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ์š”์ฒญ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํ”ํ•œ ์˜ˆ์‹œ๋กœ Cookie, ์ธ์ฆ ํ† ํฐ, ์š”์ฒญ์˜ ๋ฐ”์ดํŠธ ๊ธธ์ด, ์š”์ฒญ/์‘๋‹ต์„ ๋ณด๋‚ธ Host, ์š”์ฒญํ•  ๋•Œ ์‚ฌ์šฉ๋œ ํด๋ผ์ด์–ธํŠธ ํƒ€์ž…๊ณผ ๋ฒ„์ „ ๋“ฑ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. Key/Value ํ˜•ํƒœ๋กœ ์ •์˜๋˜๊ณ  Key์™€ Value๋Š” ๋ชจ๋‘ String ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ/ํ”„๋ ˆ์ž„์›Œํฌ/ํ™˜๊ฒฝ์— ์˜ํ•ด ์ž๋™ ์ƒ์„ฑ๋˜๋Š” ๊ฐ’๋“ค์ด ๋งŽ๊ณ  ์ง์ ‘ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ๋Š” Body๋ณด๋‹ค๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์ ์Šต๋‹ˆ๋‹ค. 

 

Body : ์š”์ฒญ์— ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ

์ผ๋ฐ˜์ ์œผ๋กœ JSON ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ์— ๋Œ€ํ•œ ๋กœ์ง ์ˆ˜ํ–‰์— ์ง์ ‘์ ์œผ๋กœ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ์— ์ƒˆ๋กœ์šด ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ƒ์„ฑํ•˜๋Š” POST ์š”์ฒญ์„ ํ•œ๋‹ค๋ฉด ์ด ๊ธ€์„ ์ƒ์„ฑํ•  ๋•Œ ํ•„์š”ํ•œ ์ œ๋ชฉ, ๋‚ด์šฉ ๋“ฑ์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ Body์— ์ž…๋ ฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

 

Header์™€ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ Header๋Š” ์š”์ฒญ ์ž์ฒด์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๊ณ  Body๋Š” ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

 

1. Status Code : ์‘๋‹ต์˜ ์ข…๋ฅ˜

 

Status Code๋Š” 100~599๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ์‚ฌ์šฉํ•ด ์‘๋‹ต์˜ ์ƒํƒœ๋ฅผ ๋ถ„๋ฅ˜ํ•ด์ค๋‹ˆ๋‹ค. 

  • 100-199 Informational Response (์ •๋ณด ์‘๋‹ต)
  • 200-299 Successful Response (์„ฑ๊ณต ์‘๋‹ต)
  • 300-399 Redirection Message (๋ฆฌ๋‹ค์ด๋ ‰์…˜ ๋ฉ”์„ธ์ง€)
  • 400-499 Client Error Response (ํด๋ผ์ด์–ธํŠธ ์—๋Ÿฌ ์‘๋‹ต)
  • 500-599 Server Error Response (์„œ๋ฒ„ ์—๋Ÿฌ ์‘๋‹ต)

์ฃผ์š” Status Code ์ •๋ฆฌ

  • 200(OK) : ๋ฌธ์ œ ์—†์ด ์š”์ฒญ์ด ์ž˜ ์‹คํ–‰๋œ๋‹ค. 
  • 201(Created) : ๋ฌธ์ œ ์—†์ด ๋ฐ์ดํ„ฐ ์ƒ์„ฑ์ด ์ž˜ ๋œ๋‹ค. (POST ์š”์ฒญ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ)
  • 301(Moved Permanently) : ๋ฆฌ์†Œ์Šค๊ฐ€ ์˜๊ตฌ์ ์œผ๋กœ ์ด๋™๋œ๋‹ค.
  • 400(Bad Request) : ์š”์ฒญ์ด ์ž˜๋ชป๋œ ์ƒํƒœ (ํ•„์ˆ˜ ๊ฐ’ ๋ถ€์กฑ ๋“ฑ)
  • 401(Unauthorized) : ์ธ์ฆ ํ† ํฐ/ํ‚ค๊ฐ€ ์ž˜๋ชป๋œ ์ƒํƒœ
  • 403(Forbidden) : ์ ‘๊ทผ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ฆฌ์†Œ์Šค. 401๊ณผ ๋‹ฌ๋ฆฌ ์ธ์ฆ์€ ๋œ ์ƒํƒœ
  • 404(Not Found) : ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋ฆฌ์†Œ์Šค.
  • 405(Method Not Allowed) : ํ—ˆ๊ฐ€๋˜์ง€ ์•Š์€ ์š”์ฒญ Method
  • 500(Internal Server Error) : ์•Œ ์ˆ˜ ์—†๋Š” ์„œ๋ฒ„ ์—๋Ÿฌ 

 

401 Unauthorized

401(Unauthorized)๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ธ์ฆ๋˜์ง€ ์•Š์•„ ์ •์ƒ์ ์œผ๋กœ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๊ณ  ํ•ด๋‹น ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ธ์ฆ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ์˜๋ฏธ์˜ ์ƒํƒœ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

401 ์ฝ”๋“œ๋ฅผ ์‘๋‹ต๋ฐ›๋Š” ๋Œ€ํ‘œ์ ์ธ ๊ฒฝ์šฐ๋Š” ๋กœ๊ทธ์ธ์„ ํ•˜์ง€ ์•Š๊ณ  ํŠน์ • ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

 

403 Forbidden

403(Forbidden)์—๋Ÿฌ ์ฝ”๋“œ๋Š” ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ดํ•ดํ–ˆ์ง€๋งŒ ์Šน์ธ์„ ๊ฑฐ๋ถ€ํ•œ ์ƒํƒœ๋กœ ์ฃผ๋กœ ์ธ์ฆ ์ž๊ฒฉ์€ ์žˆ์ง€๋งŒ ์ ‘๊ทผ ๊ถŒํ•œ์ด ์—†๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธ์„ ํ•˜์—ฌ ์ธ์ฆ์€ ๋˜์—ˆ์ง€๋งŒ ์ ‘๊ทผ ๊ถŒํ•œ์ด ์—†๋Š” admin(๊ด€๋ฆฌ์ž)๋“ฑ๊ธ‰์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

 

2. Header : ์‘๋‹ต์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

 

3. Body : ์‘๋‹ต์— ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ

'Web' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Web Storage  (0) 2025.03.09
์›น ํŽ˜์ด์ง€ ๋ Œ๋”๋ง ๋ฐฉ์‹ SSR VS CSR  (2) 2024.11.08
SPA(Single Page Application)  (3) 2024.11.07
[HTTP] POST, PUT, PATCH ์ฐจ์ด์  ์•Œ์•„๋ณด๊ธฐ  (0) 2024.11.06