
SOPλ λμΌν μΆμ² μ¬μ΄μμλ§ λ¦¬μμ€ κ³΅μ κ°λ₯ κ·μΉμ΄λ€. μ΄λ λ€λ₯Έ μΆμ²μ 리μμ€ μ¬μ©μ μ ννκΈ° μν λΈλΌμ°μ 보μ μ μ± μ΄λ€.
SOPλ μΈλΆ μ¬μ©μκ° CSRF λλ XSS λ± κ³΅κ²©μ ν΅ν΄ μ¬μ©μ μ 보λ₯Ό νμ·¨λΉνλ κ²μ 1μ°¨μ μΌλ‘ λ°©μ΄νκΈ° μν΄ κ°μ μΆμ²μμλ§ μμμ 곡μ ν μ μκ² λ§λ€μλ€.

μΆμ²λ URLμ Protocol, Host, Port 3κ°μ§λ‘ μ μκ° λλ©°, κ°μ μΆμ²λ₯Ό νλ¨νλ κΈ°μ€μ μ 3κ°κ° λͺ¨λ κ°μμ§ νμΈνλ€.
1) Protocol: http://www.domain.com:3000 κ³Ό https://www.domain.com:3000 μ λ€λ₯Έ νλ‘ν μ½λ‘ λμΌ μΆμ²κ° μλ β
2) Host: https://www.domain.com:3000 κ³Ό https://domain.com:3000 μ λ€λ₯Έ νΈμ€νΈλ‘ λμΌ μΆμ²κ° μλ β
3) Port: https://www.domain.com:3000 κ³Ό https://www.domain.com:8080 μ λ€λ₯Έ ν¬νΈμμΌλ‘ λμΌ μΆμ²κ° μλ β
https://www.domain.com:3000/main κ³Ό https://www.domain.com:3000/search μ νλ‘ν μ½, νΈμ€νΈ, ν¬νΈκ° λͺ¨λ λμΌν¨μΌλ‘ λμΌ μΆμ²κ° λ§μ β
CORSλ μΆμ²κ° λ€λ₯Έ 리μμ€λ₯Ό μ¬μ©ν μ μλλ‘ νλ μ μ± μ΄λ€. μ΄λ SOPμ μν΄ λ§νμΌ λ μμ²μ νμ΄μ£Όλ μ μ± μ΄λ€.
π‘λ§μ½ λͺ¨λ μΆμ²μ λν μμ²μ νμ©νκ³ μΆλ€λ©΄ Access-Control-Allow-Origin ν€λλ₯Ό (*)μμΌλμΉ΄λλ‘ μ€μ νλ©΄ λλ€.
1) λΈλΌμ°μ λ λ€λ₯Έ OriginμΌλ‘ μμ²μ 보λ, μ΄λ Origin ν€λμ μμ μ Originμ μ€μ
2) μλ²κ° μλ΅μ λ°κ³ μλ΅μ Access-Control-Allow-Origin ν€λμ μ€μ λ Origin λͺ©λ‘ κ²μ¬
3) μμ²μ΄ λ€μ΄μ¨ Origin ν€λ κ°μ΄ ν¬ν¨λμ΄ μλμ§ νμΈ
- λ¨μ μμ² μ‘°κ±΄
HTTP λ©μλκ° GET, HEAD, POST μ€ νλ!
λΈλΌμ°μ μ μν΄ μλ μ€μ λλ ν€λλ₯Ό μ μΈνκ³ , μμ² ν€λκ° μ¬κΈ° ν¬ν¨λ κ²λ§ κ°λ₯!
(Accept, Accept-Language, Content-Language, Content-Type, DPR, Downlink, Save-Data, Viewport-Width, Width ...)
ν리νλΌμ΄νΈ μμ²μ 보λ΄μ λ¨Όμ μμ²μ΄ μμ νμ§ νμΈμ νλ€. μ΄νμ νμΈμ΄ λλ©΄ μ€μ μμ²μ μλ²μ λ³΄λ΄ μ΄ λλ²μ μμ²μ μ μ‘νλ€.μΏ ν€, ν ν°μ κ°μ μ¬μ©μ μλ³ μ λ³΄κ° λ΄κΈ΄ μμ²μ μλ―Ένλ€. κΈ°λ³Έμ μΈ API μμ²μ λ€λ₯Έ μΆμ²μ μμ²νλ κ²½μ°μλ μΏ ν€ μ 보λ μΈμ¦ μ 보μ κ΄λ ¨λ ν€λλ₯Ό μμ²μ ν¬ν¨νμ§ μλλ€. μ΄λ μ΄λ₯Ό ν¬ν¨νκ³ μ νλ€λ©΄ credentials μ΅μ
μ μ¬μ©νλ€.same-origin: κΈ°λ³Έκ°, κ°μ μΆμ² κ° μμ²μλ§ μΈμ¦ μ 보 ν¬ν¨
include: λ€λ₯Έ μΆμ²μ μμ²νλ κ²½μ° νμ μΈμ¦ μ 보 ν¬ν¨
omit: μΈμ¦ μ 보λ₯Ό ν¬ν¨νμ§ μμ
μλ²λ μλ΅ μ Access-Control-Allow-Credentials ν€λλ₯Ό trueλ‘ μ€μ ν΄μΌνλ€.
μ΄λ Access-Control-Allow-Origin ν€λ κ°μ (*)μμΌλμΉ΄λλ₯Ό μ¬μ©ν μ μμΌλ©΄, μΆμ²κ° λͺ
νν΄μΌ νλ€.