HTTP Messages๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์์๋ฐ์ดํฐ๊ฐ ๊ตํ๋๋ ๋ฐฉ์์ด๋ค.
W3 ์์์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ํ๋กํ ์ฝ์ด๋ค. ์ฃผ๋ก HTML ๋ฌธ์๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ ์ฐ์ธ๋ค.
์์ฒญ(Requests) : ํด๋ผ์ด์ธํธ -> ์๋ฒ์๊ฒ ๋ณด๋ด๋ ๋ฉ์์ง ์๋ต(Responses) : ์๋ฒ-> ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ด๋ ๋ฉ์์ง๋ ๊ฐ์ง ๋ฐฉ์์ด ์๋ค.
HTTP๋ ์ํ๋ฅผ ๊ฐ์ง ์๋๋ค. HTTP๊ฐ ์๋ก ํต์ ์ ํ๋ ๊ณผ์ ์์ ํด๋ผ์ด์ธํธ, ์๋ฒ์ ์ํ๋ฅผ ํ์ธํ์ง ์๋๋ค. HTTP๋ ํต์ ๊ท์ฝ์ผ ๋ฟ์ด๋ฏ๋ก ์ํ๋ฅผ ์ ์ฅํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฐ๋ผ์ ์ํ๋ฅผ ์ ์ฅํ๊ณ ์ถ๋ค๋ฉด ์ฟ ํค-์ธ์
, API ๋ฑ์ ๋ฐฉ๋ฒ์ ์ด์ฉํด์ผ ํ๋ค.

HTTP ๋ฉ์์ง์ ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด์.
์์ฒญ(Requests)๊ณผ ์๋ต(Responses)์ ์ ์ฌํ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋๋ค.
start line-์์ฒญ/์๋ต์ํ๋ฅผ ๋ํ๋ธ๋ค.HTTP headers-์์ฒญ์ ์ง์ ํ๊ฑฐ๋, ๋ฉ์์ง์ ํฌํจ๋๋ณธ๋ฌธ์ ์ค๋ชํ๋ ํค๋์ ์งํฉempty line- ๊ตฌ๋ถ ์body- ๋ฐ์ดํฐ๋ ์๋ต๊ณผ ๊ด๋ จํ๋ฐ์ดํฐํน์๋ฌธ์๋ฅผ ํฌํจ
์๋ฒ์๊ฒ ๋ณด๋ด๋ ๋ฉ์์ง์ด๋ค. 
HTTP method:GET, PUT, POST ๋ฑ)์ด๋ ๋ฐฉ์(HEAD or OPTIONS)์ ์ค๋ช
ํ๋ค. ์์ฒญ ์ปจํ
์คํธ:HTTP ๋ฒ์ :์์ฒญ ์ปจํ ์คํธ - ๋ค์ํ ์์ฒญ ํ์
originํ์ :
'?'์ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ด ๋ถ๋ ์ ๋ ๊ฒฝ๋ก์ ๋๋ค. GET, POST, HEAD, OPTIONS ๋ฑ์ method์ ํจ๊ป ์ฌ์ฉํฉ๋๋ค.
POST / HTTP 1.1
GET /background.png HTTP/1.0
HEAD /test.html?query=alibaba HTTP/1.1
OPTIONS /anypage.html HTTP/1.0
absoluteํ์ :
์์ ํ URL ํ์์ผ๋ก, ํ๋ก์์ ์ฐ๊ฒฐํ๋ ๊ฒฝ์ฐ ๋๋ถ๋ถ GET method์ ํจ๊ป ์ฌ์ฉํฉ๋๋ค.
GET http://developer.mozilla.org/en-US/docs/Web/HTTP/Messages HTTP/1.1
authorityํ์ :
๋๋ฉ์ธ ์ด๋ฆ๊ณผ ํฌํธ ๋ฒํธ๋ก ์ด๋ฃจ์ด์ง URL์ ์ผ๋ถ๋ถ ์ ๋๋ค. HTTP ํฐ๋์ ๊ตฌ์ถํ๋ ๊ฒฝ์ฐ, CONNECT์ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.
CONNECT developer.mozilla.org:80 HTTP/1.1
asteriskํ์ :
OPTIONS ์ ํจ๊ป ๋ณํ() ํ๋๋ก ์๋ฒ ์ ์ฒด๋ฅผ ํํํฉ๋๋ค.
OPTIONS HTTP/1.1
[ํค๋ ์ด๋ฆ : ๊ฐ] ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.

ํฌ๊ฒ ์ธ ๊ทธ๋ฃน์ผ๋ก ๋๋ ์ ์๋๋ฐ,

Request headers : fetch๋ฅผ ํตํด ๊ฐ์ ธ์ฌ ๋ฆฌ์์ค๋ ํด๋ผ์ด์ธํธ์ ์์ธํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค. General headers : ๋ฉ์์ง ์ ์ฒด์ ์ ์ฉ๋๋ ํค๋๋ก, ์ ์ก ๋ฐ์ดํฐ์ ๊ด๋ จ์ด ์๋ค. Representation headers : body์ ๋ด๊ธด ๋ฆฌ์์ค์ ์ ๋ณด(์ฝํ
์ธ ๊ธธ์ด, MIME ํ์
๋ฑ)๋ฅผ ํฌํจํ๋ค. 
-๋ชจ๋ ์์ฒญ์ body๊ฐ ํ์ํ ๊ฒ์ ์๋๋ค.
GET, HEAD, DELETE, OPTIONS์ฒ๋ผ ์๋ฒ์ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ๋ ๊ฒฝ์ฐ์๋ ๋ณธ๋ฌธ์ด ํ์ํ์ง ์๋ค.
POST๋ PUT๊ณผ ๊ฐ์ ์ผ๋ถ ์์ฒญ์ ๋ฐ์ดํฐ๋ฅผ ์
๋ฐ์ดํธํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.
-body๋ ๋ค์๊ณผ ๊ฐ์ด ๋ ์ข ๋ฅ๋ก ๋๋ ์ ์๋ค.
Single-resource bodies(๋จ์ผ-๋ฆฌ์์ค ๋ณธ๋ฌธ) :
ํค๋ ๋ ๊ฐ(Content-Type๊ณผ Content-Length)๋ก ์ ์๋ ๋จ์ผ ํ์ผ๋ก ๊ตฌ์ฑ
Multiple-resource bodies(๋ค์ค-๋ฆฌ์์ค ๋ณธ๋ฌธ) :
์ฌ๋ฌ ํํธ๋ก ๊ตฌ์ฑ๋ ๋ณธ๋ฌธ์์๋ ๊ฐ ํํธ๋ง๋ค ๋ค๋ฅธ ์ ๋ณด๋ฅผ ์ง๋๋ฉฐ ๋ณดํต HTML form๊ณผ ๊ด๋ จ์ด ์๋ค.
-์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ด๋ ๋ฉ์์ง์ด๋ค.

ํ์ฌ ํ๋กํ ์ฝ์ ๋ฒ์ (HTTP/1.1)์ํ ์ฝ๋ - ์์ฒญ์ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋
๋๋ค. (ex. 200, 302, 404 ๋ฑ)์ํ ํ
์คํธ - ์ํ ์ฝ๋์ ๋ํ ์ค๋ช
ex . HTTP/1.1 404 Not Found
์์ฒญ ๋ฉ์์ง์ ๋ง์ฐฌ๊ฐ์ง๋ก [ํค๋ ์ด๋ฆ : ๊ฐ] ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.

Response headers :์๋ต์ ๋ํ ๋ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ๊ฐ๋ ํค๋๋ก, Vary, Accept-Ranges์ ๊ฐ์ด ์ํ ์ค์ ๋ฃ๊ธฐ์๋ ๊ณต๊ฐ์ด ๋ถ์กฑํ๋ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตGeneral headers :Representation headers :body์ ๋ด๊ธด ๋ฆฌ์์ค์ ์ ๋ณด(์ฝํ
์ธ ๊ธธ์ด, MIME ํ์
๋ฑ)๋ฅผ ํฌํจํ๋ ํค๋
-๋ชจ๋ ์์ฒญ์ body๊ฐ ํ์ํ ๊ฒ์ ์๋๋ค.
-201, 204์ ๊ฐ์ ์ํ์ฝ๋๋ฅผ ๊ฐ๋ ์๋ต์๋ ๋ณธ๋ฌธ์ด ํ์ํ์ง ์๋ค.
-body๋ ๋ค์๊ณผ ๊ฐ์ด ๋ ์ข ๋ฅ๋ก ๋๋ ์ ์๋ค.
Single-resource bodies(๋จ์ผ-๋ฆฌ์์ค ๋ณธ๋ฌธ) :
ํค๋ ๋ ๊ฐ(Content-Type๊ณผ Content-Length)๋ก ์ ์๋ ๋จ์ผ ํ์ผ๋ก ๊ตฌ์ฑ
Multiple-resource bodies(๋ค์ค-๋ฆฌ์์ค ๋ณธ๋ฌธ) :
์ฌ๋ฌ ํํธ๋ก ๊ตฌ์ฑ๋ ๋ณธ๋ฌธ์์๋ ๊ฐ ํํธ๋ง๋ค ๋ค๋ฅธ ์ ๋ณด๋ฅผ ์ง๋๋ฉฐ ๋ณดํต HTML form๊ณผ ๊ด๋ จ์ด ์๋ค.