HTTP μλ΅ ν€λλ μμ²μ λ°λΌ μ μ ν λ‘μ§μ΄ μνλκ³ κ²°κ³Όλ‘ μλ΅ν HTTP λ©μμ§μ ν€λλ₯Ό λ§ νλ€.
μ¬κΈ°μ μ°λ¦¬λ μμ£Ό μ¬μ©νλμ λͺ ν ν€λμ λν΄μλ§ μμλ³Ό κ²μ΄λ€.
ν€λλ ν¬λ‘¬μ κ°λ°μ λꡬμλ€νΈμν¬ νμμ ν€λλ€μ νμΈν μ μλ€.
μμ² ν€λ Request Header
μ°λ¦¬κ° μ΄λ²μ λ€λ€λ³Ό μλ΅ ν€λλ λ€μκ³Ό κ°λ€.
- Access-Control-Allow-Origin
- Allow
- Content-Disposition
- Location
- Content-Security-Policy
Access-Control-Allow-Origin
μμ²μ 보λ΄λ ν΄λΌμ΄μΈνΈμ μ£Όμμ μμ²μ λ°λ λ°±μλ μ£Όμκ° λ€λ₯΄λ©΄ CORS μλ¬κ° λ°μνλ€κ³ μ§λ μκ° μ΄μΌκΈ°λ₯Ό νμλ€.
μ΄ λ Access-Control-Allow-Origin ν€λμ ν΄λΌμ΄μΈνΈμ μ£Όμλ₯Ό μ μ΄μΌ μλ¬κ° λ°μνμ§ μλλ€.
λ§μ½
- νλ‘ν μ½
- μλΈλλ©μΈ
- λλ©μΈ
- ν¬νΈ
μ€ νλλΌλ λ€λ₯΄λ©΄ CORS μλ¬κ° λ°μνλ€.
Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: <origin>
Access-Control-Allow-Origin: null
// Access-Control-Allow-Origin: https://developer.mozilla.org
μ£Όμλ₯Ό μΌμΌμ§ μ§μ νκΈ° μ«λ€λ©΄ *
λ‘ λͺ¨λ μ£Όμμ CORS μμ²μ νμ©ν μ μμ§λ§ 보μμ΄ μ·¨μ½ν΄μ§λ μ μ΄ μκΈ° λλ¬Έμ ν΄λΉ ν€λλ₯Ό μ¬μ©νλ κ²μΌλ‘ νμ.
μ΄μ μ μ¬ν ν€λλ‘λ
Access-Control-Request-Method
Access-Control-Request-Headers
Access-Control-Allow-Methods
Access-Control-Allow-Headers
λ±μ΄ μλ€.
Allow
Allow ν€λλ Access-Control-Allow-Mehtodsλ λΉμ·νμ§λ§ CORS μμ² μΈμλ μ μ©λλ€λ νΉμ§μ΄ μλ€.
νΉμ λ©μλλ§ νμ©νκ² λ€λΌλ κ²μ μ§μ νλ ν€λμ΄λ€.
Allow: <http-methods>
// Allow: GET, POST, HEAD
Content-Disposition
μλ΅ λ³Έλ¬Έμ λΈλΌμ°μ κ° μ΄λ»κ² νμν΄μΌ ν μ§ μλ €μ£Όλ ν€λμ΄λ€.
inlineμΈ κ²½μ° μΉνμ΄μ§ νλ©΄μ νμλκ³ , attachmentμΈ κ²½μ° λ€μ΄λ‘λλλ€.
Content-Disposition: inline
Content-Disposition: attachment
Content-Disposition: attachment; filename="filename.jpg"
// ex
POST /test.html HTTP/1.1
Host: example.org
Content-Type: multipart/form-data;boundary="boundary"
--boundary
Content-Disposition: form-data; name="field1"
value1
--boundary
Content-Disposition: form-data; name="field2"; filename="example.txt"
value2
--boundary--
λ€μ΄λ‘λλκΈΈ μνλ νμΌμ attachmentλ‘ κ°μ μ€μ νκ³ , filename μ΅μ μΌλ‘ νμΌλͺ κΉμ§ μ§μ ν΄μ€ μ μλ€.
λ³΄ν΅ FTP μλ²λ νμΌ μ μ© μλ²μμ λ§μ΄ μ¬μ©νκ² λλ€.
Location
리λ€μ΄λ νΈ ν€λλΌκ³ λ νλ©°, 300λ²λ μλ΅μ΄λ 201 Created μλ΅μΌ λ μ΄λ νμ΄μ§λ‘ μ΄λν μ§λ₯Ό μλ €μ£Όλ ν€λμ΄λ€.
Location: <url>
// ex
HTTP/1.1 302 Found
Location: /
Content-Security-Policy
μΈλΆ νμΌλ€μ λΆλ¬μ¬ κ²½μ°, μ°¨λ¨ν μμ€μ λΆλ¬μ¬ μμ€λ₯Ό λͺ μν μ μλ€.
μ΄ ν€λλ₯Ό μ΄μ©νλ€λ©΄ XSS 곡격과 κ°μ μ μ¬μ 곡격 μμ€ νμΌμ μ°¨λ¨ν μ μκ³ , μ λμνλ μμ€ μ½λλ₯Ό νμ©ν μ μκ² λλ€.
λ§μ μ΄ κ°μ self
λΌκ³ μ§μ νλ€λ©΄ μμ κ³Ό κ°μ λλ©μΈμ νμΌλ§ κ°μ Έ μ¬ μ μκ² λλ κ²μ΄λ€
Content-Security-Policy: <policy-directive>; <policy-directive>
// Content-Security-Policy: default-src https:
λκΈ