๋ ์ง:2025-10-22
ํ์ต ๋ชฉํ
- HTTP(HyperText Transfer Protocol)์ ๊ฐ๋
๊ณผ ํน์ง ์ดํด
- HTTP ๋ฉ์์ง(Request/Response) ๊ตฌ์กฐ ์ดํด
- ์ฃผ์ HTTP Method์ ํน์ฑ(Safe, Idempotent, Cacheable) ์ดํด
โ
HTTP๋?
HTTP
-
์น์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ํต์ ๊ท์ฝ์
๋๋ค.
-
ํธ์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ๊ณผ ๋น์ทํ๊ฒ, ๋ณด๋ด๋ ์ฌ๋, ๋ฐ๋ ์ฌ๋, ๋ด์ฉ์ด ์ ํด์ง ํ์์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค.
-
โ ์ค์: HTTP ๋ฒ์ 1.1, 2.0, 3.0์ด ์์ง๋ง, ๊ฐ์์์๋ 1.1 ์์ฃผ๋ก ๋ค๋ฃน๋๋ค.
HTTP ๋์ ์์

- 1.ํด๋ผ์ด์ธํธ(Client)๋ ์์ฒญ(Request)์ ๋ณด๋ธ ํ ์๋ต์ ๊ธฐ๋ค๋ฆฝ๋๋ค.
- 2.์๋ฒ(Server)๋ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ์๋ต(Response)์ ๋ฐํํฉ๋๋ค.
โ
HTTP ํน์ง
HTTP๋ ๋ถํน์ ๋ค์์ ํ๊ฒฝ์์ ํต์ ์ด ๊ฐ๋ฅํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
๋ฌด์ํ(Stateless)
- ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์ํ(State)๋ฅผ ์ ์ฅํ์ง ์์ต๋๋ค.
๐ก ์ค์ํ ๋น์ :
- ์ ์ฅ ๊ธฐ๋ฅ ์๋ ๊ฒ์์ ์ฌ์ ์ํ๋ฉด ์ด์ ์ ์๋ ์ํ๊ฐ ์ฌ๋ผ์ง๊ณ ์ฒ์๋ถํฐ ์์ํ๋ ์ํฉ๊ณผ ๊ฐ์
์ฅ์
- Scale Out(์ํ ํ์ฅ) ์ฉ์ด
- ์์ฒญ๋ ์ฆ๊ฐ ์ ์๋ฒ ์ฆ์ค์ด ์ฝ๋ค
๋จ์
- ํด๋ผ์ด์ธํธ๊ฐ ์ถ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์กํด์ผ ํจ
ํ๊ณ์
- ๋ฌด์ํ ์ค๊ณ๊ฐ ์ด๋ ค์ด ๊ฒฝ์ฐ ์กด์ฌ
- ๋ก๊ทธ์ธ, ์ธ์ฆ ๋ฑ ์ํ ๊ด๋ฆฌ ํ์ โ Cookie, Session, Token ํ์ฉ (์ถํ ํ์ต)
โ
HTTP ๋ฉ์์ง ๊ตฌ์กฐ
- HTTP ๋ฉ์์ง๋ ์์ฒญ(Request)๊ณผ ์๋ต(Response) ๋ ๊ฐ์ง๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.

HTTP ์์ฒญ ๋ฉ์์ง(Request Message)

1.Start Line
HTTP Method: GET, POST, PUT, PATCH, DELETE ๋ฑ
- Create โ POST
- Read โ GET
- Update โ PUT(์ ์ฒด), PATCH(๋ถ๋ถ)
- Delete โ DELETE
- Request Target(Path): /event, /search?keyword=sparta ๋ฑ
- HTTP Version: 1.1
2.Heade
- Host: spartacodingclub.kr ๋ฑ
- ์์ฒญ ๊ด๋ จ ์ถ๊ฐ ์ ๋ณด(์ธ์ฆ, ๋ธ๋ผ์ฐ์ , ์๋ฒ ์ ๋ณด ๋ฑ)
3.Empty Line
4.Message Body
- ์ ์กํ ๋ฐ์ดํฐ (HTML, ์ด๋ฏธ์ง, JSON ๋ฑ)
- GET์ ๊ฒฝ์ฐ Body๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
HTTP ์๋ต ๋ฉ์์ง(Response Message)

1.Start Line
- HTTP Version
- Status Code: ์์ฒญ ์ฑ๊ณต/์คํจ ์ฌ๋ถ
- Status Text: ์ํ ๋ฉ์์ง
- Response ์ ์ฉ Header ๊ฐ
3.Empty Lin
4.Message Body
- ์ค์ ์ ์ก ๋ฐ์ดํฐ
- ๋ฐ์ดํฐ ์์ผ๋ฉด ๊ณต๋ฐฑ ์กด์ฌ
โ
HTTP Method
ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ ๋ฐ์ดํฐ ์ ์ก ๋ฐฉ์์ ์๋ฏธํฉ๋๋ค.
์ฃผ์ Method
| Method | ์ญํ | ํน์ง |
|---|
| POST | ๋ฆฌ์์ค ์์ฑ | Message Body ํตํด ์์ฒญ ๋ฐ์ดํฐ ์ ๋ฌ |
| GET | ๋ฆฌ์์ค ์กฐํ | Message Body ์์ (๊ถ์ฅ) |
| PUT | ๋ฆฌ์์ค ์ ์ฒด ์์ | ๊ธฐ์กด ๋ฐ์ดํฐ ๋ฎ์ด์ฐ๊ธฐ |
| PATCH | ๋ฆฌ์์ค ์ผ๋ถ ์์ | ์ผ๋ถ ๋ฐ์ดํฐ๋ง ๋ณ๊ฒฝ |
| DELETE | ๋ฆฌ์์ค ์ญ์ | ์ญ์ ์ํ |
๊ธฐํ Method
- HEAD: GET์์ Body ์ ์ธ, ์ํ ์ค๊ณผ Header๋ง ๋ฐํ
- OPTIONS: ๋์ ๋ฆฌ์์ค์์ ์ง์ ๊ฐ๋ฅํ Method ํ์ธ
โ
HTTP Method ์์ฑ

1.์์ ์ฑ(Safe)
- GET: ์์ (๋ฐ์ดํฐ ๋ณํ ์์)
- POST, PUT, PATCH, DELETE: ์์ ํ์ง ์์ (๋ฐ์ดํฐ ์์ฑ/์์ /์ญ์ )
2.๋ฉฑ๋ฑ์ฑ(Idempotent)
- ์ฌ๋ฌ ๋ฒ ํธ์ถํด๋ ๊ฒฐ๊ณผ๊ฐ ๋์ผ
- GET, PUT, DELETE: ๋ฉฑ๋ฑ์ฑ ์์
- POST: ๋ฉฑ๋ฑ์ฑ ์์ (์: ๊ฒ์๊ธ ์ค๋ณต ์์ฑ, ์ก๊ธ ์ค๋ณต)
- ๋ฉฑ๋ฑ์ฑ์ ์คํจ ์ ์ฌ์๋ ๊ฐ๋ฅ ์ฌ๋ถ ํ๋จ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ
3.์บ์ ๊ฐ๋ฅ์ฑ(Cacheable)
- ์์ฒญ ์๋ต์ ์ ์ฅํ์ฌ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ ์ฌ๋ถ
- GET, HEAD, POST ๊ฐ๋ฅ (์ฃผ๋ก GET, HEAD ์ฌ์ฉ)
- ์ ์ ์์(HTML, CSS, ์ด๋ฏธ์ง, JS ๋ฑ) ์บ์ฑ์ ํ์ฉ
์บ์(Cache)๋?
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญํ๋ ๋ฐ์ดํฐ๋ฅผ ์์๋ก ์ ์ฅํ์ฌ,๋งค๋ฒ ์๋ก ์์ฒญํ์ง ์๊ณ ์ฌ์ฌ์ฉํ ์ ์๋ ๊ณต๊ฐ
์ ๋ฆฌ
- HTTP: ์น์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ํต์ ๊ท์ฝ
- ๋ฌด์ํ(Stateless): ์๋ฒ๋ ํด๋ผ์ด์ธํธ ์ํ๋ฅผ ์ ์ฅํ์ง ์์ โ Cookie, Session, Token ํ์ฉ ํ์
- HTTP ๋ฉ์์ง: Request์ Response๋ก ๊ตฌ์ฑ
- HTTP Method: ๋ฐ์ดํฐ ์ ์ก ๋ฐฉ์ (POST, GET, PUT, PATCH, DELETE ๋ฑ)
- ethod ์์ฑ: ์์ ์ฑ, ๋ฉฑ๋ฑ์ฑ, ์บ์ ๊ฐ๋ฅ์ฑ ์ดํด โ ์ฌ์๋, ์ค๋ณต ์์ฒญ ์ฒ๋ฆฌ ๋ฑ ํ์ฉ