
HTTP ์์ฒญ ํค๋๋ ์๋ฒ๋ก ์์ฒญํ ๋ฐ์ดํฐ์ ์ ๋ณด๊ฐ ๋ด๊ฒจ์๋ ํค๋์ด๋ค.
๋ณดํต Fetch๋ ๋ฆฌ์์ค๋ ํด๋ผ์ด์ธํธ ์์ฒด์ ๋ํ ์ ๋ณด๋ฅผ ํฌํจํ๋ค.
์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ ์์ฃผ ์ฌ์ฉํ๋ ์ ๋ช ํ ํค๋์ ๋ํด์๋ง ์์๋ณผ ๊ฒ์ด๋ค.
ํค๋๋ ํฌ๋กฌ์ ๊ฐ๋ฐ์ ๋๊ตฌ์ ๋คํธ์ํฌ ํญ์์ ํค๋๋ค์ ํ์ธํ ์ ์๋ค.
์์ฒญ ํค๋ Request Header

์ฐ๋ฆฌ๊ฐ ์ด๋ฒ์ ๋ค๋ค๋ณผ ์์ฒญ ํค๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
- Host
- User-Agent
- Accept
- Authorization
- Origin
- Referer
Host

์๋ฒ์ ๋๋ฉ์ธ ๋ค์๊ณผ ์๋ฒ๊ฐ ํ์ฌ Listening ์ค์ธ TCP ํฌํธ๋ฅผ ์ง์ ํ๋ค.
๋ง์ฝ ํฌํธ๊ฐ ์ง์ ๋์ง ์๋๋ค๋ฉด ์์ฒญ๋ ์๋ฒ์ ๊ธฐ๋ณธ ํฌํธ๋ฅผ ์๋ฏธํ๋ค. (HTTP URL์ 80)
Host ํค๋๋ ๋ฐ๋์ ํ๋๊ฐ ์กด์ฌํด์ผ ํ๋ค.
๋ง์ฝ ํ ๊ฐ๊ฐ ์๋๋ผ ์๊ฑฐ๋ ์ฌ๋ฌ๊ฐ๋ฉด 400(Bad Request)
์ํ ์ฝ๋๊ฐ ์ ์ก๋๋ค.
Host: <host>:<port_Optional>
// Host: developer.cdn.mozilla.net
User-Agent
ํ์ฌ ์ฌ์ฉ์๊ฐ ์ด๋ค ํด๋ผ์ด์ธํธ(์ด์์ฒด์ ์ ๋ธ๋ผ์ฐ์ ๋ฅผ ํฌํจํ)๋ฅผ ์ด์ฉํด ์์ฒญ์ ๋ณด๋๋์ง ํ์ธํ ์ ์๋ค.
User-Agent: <product> / <product-version> <comment>
// Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
// Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1
// Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Accept
Accept๋ ์์ฒญ์ ๋ณด๋ผ ๋ ์๋ฒ์๊ฒ ์ด๋ค ํฐ์ ์ผ๋ก ์๋ต์ ๋ณด๋ด์คฌ์ผ๋ฉด ์ข๊ฒ ๋ค๊ณ ๋ช ์ํ๋ค.
์๋ฅผ ๋ค์ด
Accept: text/html
์ ์์ฒญ ํค๋๋ก ๋ณด๋ด๋ฉด HTML ํ์์ธ ์๋ต์ ์ฒ๋ฆฌํ๊ฒ ๋ค๋ ๋ป์ด๋ค.
์ด๋ ์ฝค๋ง๋ก ์ฌ๋ฌ ํ์
์ ๋์์ ์ ์ด์ค ์๋ ์์ผ๋ฉฐ ์์ผ๋์นด๋์ธ *
์์คํ
๋ฆฌํฌ๋ก ๋ณด๋ผ ์๋ ์๋ค.
์ด๋ฌํ Accept์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค๋ ํฌํจ๋ ์ ์๋ค.
Accept-Charset
: ์ํ๋ Character SetAccept-Language
: ์ํ๋ LangAccept-Encoding
: ์ํ๋ Encoding ๋ฐฉ์

๋์ถฉ ๋ธ๋ผ์ฐ์ ๋ ์์์ ์ค์ ํด์ ๋ณด๋๋ Accept๊ฐ ์๋ค.
๋ฌด์จ ํค๋๋ฅผ ์ ์ด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ๋ค๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ์ฌ์ฉํ๋ ๊ฒ์ ์ด์ฉํ์.
Authorization
Authorization ํค๋๋ ์ฌ์ฉ์๊ฐ ์๋ฒ์ ์ธ๊ฐ๋ ์ฌ์ฉ์์์ ์ฆ๋ช ํ ๋ ์ฌ์ฉํ๋ค.
๋ณดํต JWT๋ Bearer ํ ํฐ์ ์๋ฒ๋ก ๋ณด๋ผ ๋ ์ฌ์ฉํ๋ฉฐ ์๊ฒฉ์ด ์ฆ๋ช
๋์ง ์์ ๊ฒฝ์ฐ 401 Unauthorized
์ํ๋ฅผ ์๋ ค์ค๋ค.
Authorization: <type> <credentials>
// Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
- type : ์ธ์ฆ ํ์ ์ผ๋ก ๋ณดํต Basic๊ณผ Bearer์ ์ฌ์ฉํ๋ค.
- credentials : ์ฌ์ฉ์๋ช ๊ณผ ๋น๋ฐ๋ฒํธ, ๋ค๋ฅธ ํ์ด๋ก๋๊ฐ ํฉ์ฒ์ ธ base64๋ก ์ธ์ฝ๋ฉ๋ ๊ฐ
Base64 ์ธ์ฝ๋ฉ์ ์ํธํ๋ ํด์ฑ์ ์๋ฏธํ์ง ์์ต๋๋ค! ์ด ๋ฐฉ๋ฒ์ ์ธ์ฆ์ ๋ํด์ ๋ฌธ์๋ฅผ ๊ทธ๋๋ก ๋ณด๋ด๋ ๊ฒ๊ณผ ๋์ผํ๋ค๊ณ ํ ์ ์์ต๋๋ค (base64์ธ์ฝ๋ฉ์ ๋ณตํธํ ๊ฐ๋ฅ). Basic ์ธ์ฆ์ ํ๋ ๊ฒฝ์ฐ HTTPS๋ก ์ ์ํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. by MDN
Origin
POST์ ๊ฐ์ ์์ฒญ์ ๋ณด๋ผ ๋, ์์ฒญ์ด ์ด๋ ์ฃผ์์์ ์์๋์๋์ง๋ฅผ ๋ํ๋ธ๋ค.
์ฌ๊ธฐ์ ์์ฒญ์ ๋ณด๋ธ ์ฃผ์์ ๋ฐ๋ ์ฃผ์๊ฐ ๋ค๋ฅด๋ฉด CORS ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋๋ฐ, CORS์ ๋ํด ๋ชจ๋ฅด๊ฒ ๋ค๋ฉด CORS๋?์ด๋ผ๋ ๊ธ๋ก ๊ฐ์ ํ์ธํ๊ธธ ๋ฐ๋๋ค.
Origin: null
Origin: <scheme> "://" <hostname> [ ":" <port> ]
// Origin: https://developer.mozilla.org
- scheme : ์ฌ์ฉํ๋ ํ๋กํ ์ฝ
- hostname : ์๋ฒ์ ์ด๋ฆ ๋๋ ip
- port : ์๋ฒ์ ์ด๋ฆฐ tcp ํฌํธ
Referer
์ด๋ ์ด ํ์ด์ง ์ด์ ์ ๋ํ ์ฃผ์๊ฐ ๋ด๊ฒจ์๋ค.
์ด ํค๋๋ฅผ ์ด์ฉํ๋ฉด ์ด๋ค ํ์ด์ง์์ ์ง๊ธ ํ์ด์ง๋ก ์๋์ง๋ฅผ ์ ์ ์์ด์ ์ ๋๋ฆฌํฑ์ค๋ฅผ ํ๋๋ฐ ๋ง์ด ์ฌ์ฉ๋๋ค.
Referer: <url>
Referer: https://developer.mozilla.org/en-US/docs/Web/JavaScript

๋๊ธ