HTTP๋?
HTTP = Hyper Text Transfer Protocol
ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ HTML์ ๋ฌ๋ผ๊ณ ์์ฒญ์ ํ๋ค = Request
์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ HTML์ ์ ๊ณตํ๋ค = Response
์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ Request์ Response๋ฅผ ํ๊ธฐ ์ํด์ ์๋ก ์์๋ค์์ ์๋ ๋ฉ์ธ์ง(๊ณตํต์ ์ฝ์)๋ฅผ HTTP๋ผ๊ณ ํ๋ค.
์น์๋ฒ๋ Rquest๋ฅผ ๋ฐ์์ ์ ์ ํ Response๋ฅผ ๋ณด๋ด์ฃผ๋ ์ญํ ์ด๋ค.
์น๋ธ๋ผ์ฐ์ ๋ ์น์๋ฒ์๊ฒ ๋ฐ์ Response๋ฅผ ํ๋ฉด์ ์ ์ ํ๊ฒ ํํํด์ฃผ๋ ์ญํ ์ด๋ค.
Requset
Request Header ๊ตฌ์ฑ
- GET = Method = ์น๋ธ๋ผ์ฐ์ ์ ์น์๋ฒ๊ฐ ์ด๋ค ๋ฐฉ์์ผ๋ก ํต์ ํ ๊ฒ์ธ๊ฐ๋ฅผ ๋ํ๋ธ๋ค. GET์ ์น์๋ฒ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉํ๊ณ POST๋ ์น์๋ฒ๋ก ์ ์กํ ๋ ๋ฅผ ๋ํ๋ธ๋ค.
- /doc/test.html = ์น์๋ฒ์๊ฒ ์์ฒญํ๋ ์ ๋ณด๊ฐ ์ด๋ค๊ฒ์ธ์ง๋ฅผ ๋ํ๋ธ๋ค.
- HTTP/1.1 = ์น๋ธ๋ผ์ฐ์ ๊ฐ ํ์ฌ ์ฌ์ฉํ๊ณ ์๋ HTTP ๋ฒ์ ์ ๋ํ๋ธ๋ค.
- Host = ์์ฒญํ๋ ์น์๋ฒ์ ์ฃผ์๋ฅผ ๋ํ๋ธ๋ค.
- Accept-Encoding = ๋ฐ์ดํฐ์ ์์ด ๋ง์๋ ์น์๋ฒ๊ฐ ์์ถํด์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋๋ฐ, ์ด ๋ ์น๋ธ๋ผ์ฐ์ ๊ฐ ์ง์ํ๋ ์์ถ ๋ฐฉ์์ ๋ํ๋ธ๋ค.
- User-Agent = ์์ฒญํ๋ ์น๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ค ์น๋ธ๋ผ์ฐ์ ์ธ์ง ๋ํ๋ธ๋ค.
Response
Response Header ๊ตฌ์ฑ
- HTTP/1.1 = HTTP ๋ฒ์
- 200 OK = status code์ด๋ค. 2xx๋ ์ฑ๊ณต, 3xx๋ Rediretion, 4xx๋ ํด๋ผ์ด์ธํธ์ชฝ ์ค๋ฅ, 5xx๋ ์๋ฒ์ชฝ ์ค๋ฅ๋ฅผ ๋ํ๋ธ๋ค.
- Content-type = ์น์๋ฒ๊ฐ ์๋ตํ ๋ ์ด ์๋ต์ text์ด๊ณ html์์ ์๋ ค์ฃผ๋ฉด ์น๋ธ๋ผ์ฐ์ ๋ ์ด์๋ฐ๋ผ ์๋ต์ ์ฒ๋ฆฌํ๋ค.
- Content-length = ์๋ตํ๋ content์ ์ฌ์ด์ฆ๋ฅผ ๋ณด์ฌ์ค๋ค(๋จ์ byte)
- Contnet-encoding = ์กด์ฌํ๋ค๋ฉด ๋ฐ์ดํฐ๋ฅผ ์์ถํ ๋ฐฉ์์ ์๋ ค์ฃผ๊ณ , ์น๋ธ๋ผ์ฐ์ ๋ ์ด๋ฅผ ๋ณด๊ณ ์์ถ์ ํ๊ฒ๋๋ค.
Body
Request์ Response ๋ชจ๋ header์ ํ์ค ๊ณต๋ฐฑ์ ๋์ดํ์ Body๋ฅผ ๋ณด๋ด์ค๋ค. Body๋ Response๋ผ๋ฉด HTML์ด ๋ ์ ์๊ณ , Request๋ผ๋ฉด POST๋ฅผ ํ ๋ ์๋ฒ์ชฝ์ ๋ณด๋ด๋ ๋ฐ์ดํฐ๊ฐ ๋ ์ ์๋ค.
์ฐธ๊ณ ์๋ฃ
์ํ์ฝ๋ฉ WEB2 - HTTP : https://opentutorials.org/course/3385
'Back-end' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Slack์ผ๋ก OAuth ์ฌ์ฉํ๊ธฐ (0) | 2022.10.31 |
---|---|
[HTTP] ์๋ต ์ํ ์ฝ๋ ์ ๋ฆฌ (0) | 2021.09.14 |
[REST API]REST API๋? (0) | 2021.08.29 |
[WEB] HTTPS์ SSL์ธ์ฆ์ (0) | 2021.08.29 |
Android Studio + Node.js + MySQL ํ๋ก์ ํธ ํ์ผ ๊ตฌ์กฐ (0) | 2021.08.22 |