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
λκΈ