
ํต์ ๊ณผ HTTP
- ์ปดํจํฐ๋ค๋ผ๋ฆฌ๋ ์๋ก ์ํตํ๋ ์ธ์ด๊ฐ ์๋ค.
- ๊ทธ๊ฒ์ด ๋ฐ๋ก HTTP์ด๋ค.
- HyperText Transfer Protocol
- HyperText
- ๋จ์ํ ํ
์คํธ๊ฐ ์๋๊ณ ๋ฌธ์์ ๋ฌธ์๊ฐ ๋งํฌ๋ก ์ฐ๊ฒฐ๋์ด ์์์ ๋ปํจ
- Transfer
- ์ ์กํ๋ค
- HTML๋ก ๋ง๋ ์นํ์ด์ง ๋ฌธ์(ํ์ผ)์ ๋ณด๋ธ๋ค.
- Protocol
- ์ปดํจํฐ๋ผ๋ฆฌ ์ด๋ป๊ฒ HTMLํ์ผ์ ์ฃผ๊ณ ๋ฐ์ ์ง์ ๋ํ ์ํต ๋ฐฉ์ ๋๋ ์ฝ์
- ๊ธ์์ ๊ธ์๊ฐ ์ฐ๊ฒฐ๋์ด ์๋ ๋ฌธ์(HTML)๋ฅผ ์ปดํจํฐ๋ผ๋ฆฌ ์ฃผ๊ณ ๋ฐ์ ์ ์๊ธฐ ์ํ ํต์ ์ฝ์(๊ท์ฝ)
- ์ฌ์ฉ์๊ฐ Request๋ฅผ ํ๋ฉด ์๋ฒ๊ฐ Response๋ฅผ ๋ณด๋ด์ค๋ค.
HTTP์ ๋๊ฐ์ง ํน์ง
- Request & Response
- Request : "์๋ฒ์ผ ๋๋ hyerim์ด์ผ ๋ก๊ทธ์ธ ์์ผ์ค๋?"
- Response : "๋ก๊ทธ์ธ์ ์ฑ๊ณตํ์ต๋๋ค!"
- Stateless
- ์ํ์์
- HTTP ๊ฐ๋ณ ํต์ ์ ๋ชจ๋ ๋
๋ฆฝ์ ์ด์ด์, ๊ณผ๊ฑฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์กดํ์ง ์๋๋ค.
- ์ฒซ๋ฒ์งธ ํต์
- Request : "์๋ฒ์ผ ๋๋ hyerim์ด์ผ ๋ก๊ทธ์ธ ์์ผ์ค๋?"
- Response : "๋ก๊ทธ์ธ์ ์ฑ๊ณตํ์ต๋๋ค!"
- ๋๋ฒ์งธ ํต์
- Request : "์๋ฒ์ผ ๋ ์๊น ๋ก๊ทธ์ธ ํ์ด. ๋ก๊ทธ์ธ ์์ผ์ค๋?"
- Response : "๋๊ตฌ์ธ์?"
- HTTP๋ ๊ธฐ์ต์์ค์ฆ์ ๊ฑธ๋ ค์๋ค..
- ์ฐ๋ฆฌ์ ์์ฒญ์ ์ฐ์์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
- ๊ทธ๊ฒ์ HTTP๋ ๊ธฐ์ตํ์ง ๋ชปํ๋ค.
- ์ฅ์ ์ ๊ฐ๊ฐ์ ํต์ ๋ค์ ์ํ๋ฅผ ์ ์ฅํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋ฒ ๋์์ธ์ด ๊ฐ๋จํด์ง๋ค.
- ๋จ์ํ ์๋ต์ ๋ฐ๋ฅธ ์์ฒญ๋ง ๋ณด๋ด๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๊ฐ๊ฒฐํ๋ค.
- ๋จ์ ์ ๋ณด๋ผ๋๋ง๋ค ํ์ํ ์ ๋ณด๋ค์ ํ๋ฒ์ ๋ด์ ๋ณด๋ด์ฃผ์ด์ผ ํ๋ค.
- ํ ํฐ
- HTTP๋ ์ด์ ์์ฒญ์ ๊ธฐ์ตํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ๋ก๊ทธ์ธ ์ ๋ณด๋ฅผ ์ ์ฅํด์ค๋ค.
- ํ ํฐ์ด๋ผ๋ ID์นด๋๋ฅผ ๋ก๊ทธ์ธ ์ฐฝ๊ตฌ์์ ์ฐ์ด์ ๋ค์ด๊ฐ๋ ๊ฒ์ฒ๋ผ!
Request ๋ฉ์ธ์ง ๊ตฌ์กฐ
- Start Line
- HTTP method
- ์์ฒญ์ด ์๋ํ ์ก์
์ ์ ์
- GET, POST
- Request target
- HTTP version
- GET / login HTTP /1.1
- Headers
- ์์ฒญ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์๋ ๋ถ๋ถ
- ๊ฐ์ฒด, ๋์
๋๋ฆฌ {key: value} ์ ํํ
- Headers : {
Host : www.wecode.co.kr
User-Agent: chrome
Context-Type : application/json
Content-Length : 50
}
- Body
Response ๋ฉ์ธ์ง ๊ตฌ์กฐ
- Status Line
- ์์ฒญ์ ๋ํ ์ํ๋ฅผ ๋ํ๋
- HTTP version
- Status Code
- Status Text
- HTTP/1.1 404 Not Found
- Headers
- Body
HTTP Request Methods
request method
- GET
- ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๊ธฐ๋ง ํ ๋ ์ฌ์ฉ
- Body์ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์ ์๋ค.
- POST
- ๋ฐ์ดํฐ๋ฅผ ์์ฑ, ์์ ํ ๋ ์ฌ์ฉ
- Body์ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์ ์๋ค.
- DELETE
- ์๋ฒ์ ์ ์ฅ๋ ํน์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ ๋ ์ฌ์ฉ
- Body์ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์ ์๋ค.
- ๋ฃ์ ์๋ ์์ง๋ง HTTP ํต์ ์ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์ด๋์ ํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฐ๋ฐ ๋ธ๋ผ์ฐ์ ์ค chrome์ DELETE ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด body๋ฅผ ์ฝ์ด์ค์ง ์๋๋ค.
- ๋ธ๋ผ์ฐ์ ๋ง๋ค ๋ค๋ฅด์ง๋ง ์์ ํ์ง ์๊ธฐ๋๋ฌธ์ Body์ ๋ด์ง ์๋ ๊ฒ์ด ์ข๋ค.
status code
- Success
- ์๋ต์ด ์ ๋๋ก ๋์์ ๋์ ์ํ ์ฝ๋
- 200 : OK
- 201 : Created
- Error
- ์๋ฌ๊ฐ ๋์ ์๋ต์ด ์ ๋๋ก ๋์ง ์์์ ๋์ ์ํ ์ฝ๋
- 400 : Bad Request
- 401 : Unauthorized
- 403 : Forbidden
- 404 : Not Found
- ์์ฒญํ ํ์ด์ง๋ ๋ฐ์ดํฐ๊ฐ ์์
- ์์ฒญ์ ๋ํ ์๋ต
- ํ๋ก ํธ ๋ถ๋ถ์ ๋ํ ์๋ฌ!
- Server Error
- 500 : Internal Server Error
- ์๋ฒ๊ฐ ํฐ์ก์ด์...