HTTP๋ž€

hynnch2ยท2021๋…„ 7์›” 18์ผ
0

back-end roadmap

๋ชฉ๋ก ๋ณด๊ธฐ
2/4

back-end roadmap-2

๐Ÿ‘ ์ด ๊ธ€์€ https://github.com/kamranahmedse/developer-roadmap ์˜ ๊ฐœ๋ฐœ์ž roadmap์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑํ•˜๊ฒŒ ๋œ ์ •๋ฆฌ ๊ธ€ ์ž…๋‹ˆ๋‹ค.


๐Ÿคซ HTTP?

HTTP๋ž€ HyperText Transfer Protocol์˜ ์•ฝ์ž๋กœ hyper text๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ ํ†ต์‹  ๊ทœ์•ฝ์ด๋‹ค. http๋Š” ์›น์—์„œ ์‚ฌ์šฉํ•˜๋Š” protocol๋กœ TCP/IP๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด์˜ ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋˜ํ•œ ๋ฌด์ƒํƒœ(stateless) protocol๋กœ ์ƒํƒœ๋ฅผ ๊ฐ€์ง€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, client์—์„œ ๋ณด๋‚ธ ์š”์ฒญ 2๊ฐœ๊ฐ€ ๊ฐ™์€ client์—์„œ ๋ณด๋‚ธ ๊ฒƒ์ธ์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค.

๐Ÿค› HTTP์˜ ๋™์ž‘

http์˜ ๋™์ž‘์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

์š”์ฒญ: ์‚ฌ์šฉ์ž(ํด๋ผ์ด์–ธํŠธ)๊ฐ€ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๋Š” ๊ฒƒ
์‘๋‹ต: ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์— ๋Œ€ํ•œ ๋‹ต์œผ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด๋‚ด๋Š” ๊ฒƒ

์ธํ„ฐ๋„ท์€ TCP/IPํ†ต์‹ ์„ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ๋น„์—ฐ๊ฒฐ์„ฑ ํ†ต์‹ ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค.

๐Ÿ‘ HTTP ์˜ˆ์‹œ

HTTP์˜ ์ •์˜์™€ ๋™์ž‘์„ ์ดํ•ดํ–ˆ๋‹ค๋ฉด ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€๋ฅผ ํ™•์ธํ•ด๋ณด๊ฒ ๋‹ค.

http๋Š” ์š”์ฒญ๊ณผ ์‘๋‹ต์˜ ๊ณผ์ •์—์„œ header, body๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค. header๋Š” ์š”์ฒญํ•œ URL, http์˜ method ์ข…๋ฅ˜ ๋“ฑ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, body๋Š” html, js ๋“ฑ์˜ ์ปจํ…์ธ /๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

  • http header ์ •๋ณด

header์˜ ์ •๋ณด๋ฅผ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” GET method๋ฅผ ํ˜ธ์ถœํ–ˆ์œผ๋ฉฐ 200 status code๋ฅผ ๋ฐ›์•˜๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

  • http method ์ข…๋ฅ˜
  1. GET: ํŠน์ • ๋ฆฌ์†Œ์Šค ํ‘œ์‹œ ์š”์ฒญ. ์˜ค์ง ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ธฐ๋งŒ ํ•จ.
  2. HEAD: GET๊ณผ ๊ฐ™์ด ํ–‰๋™ํ•˜์ง€๋งŒ ๋ณธ๋ฌธ์„ ํฌํ•จํ•˜์ง€ ์•Š์Œ.
  3. POST: ํŠน์ • ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ์ถœํ• ๋•Œ ์‚ฌ์šฉ.
  4. PUT: ๋ชฉ์  ๋ฆฌ์†Œ์Šค์˜ ๋‚ด์šฉ์„ ์ œ์ถœํ•œ ๋ฐ์ดํ„ฐ๋กœ ์ˆ˜์ •.
  5. DELETE: ํŠน์ • ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ• ๋•Œ ์‚ฌ์šฉ.
    ...
  • status code ์ข…๋ฅ˜
    1xx : ์ •๋ณด ์‘๋‹ต
    2xx : ์„ฑ๊ณต ์‘๋‹ต
    3xx : ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์‘๋‹ต
    4xx : client ์—๋Ÿฌ ์‘๋‹ต(์‚ฌ์šฉ์ž ์ž˜๋ชป)
    5xx : server ์—๋Ÿฌ ์‘๋‹ต(์„œ๋ฒ„ ๋ฌธ์ œ)

์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ํ†ต์‹ ์„ ๊ทœ์ •ํ•˜๊ณ  ์žˆ๋‹ค.


+ ์œ„์˜ ๋‚ด์šฉ ์ค‘ ์กฐ์–ธ์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ • ๋ฐ ๋ณด์™„ ํ•ด์ฃผ์‹ค ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!! :)

profile
more than yesterday

0๊ฐœ์˜ ๋Œ“๊ธ€