SOP(Same-Origin Policy)는 웹 보안에 관한 개념입니다.
SOP란, 한 도메인에서 불러온 스크립트가 다른 도메인의 리소스에 접근하지 못하도록 제한하는 것입니다.
SOP는 웹 취약점을 차단하고 보안을 강화하는 데 도움이 되며,
개인 정보 유출, 개인 정보 침해, 크로스 사이트 스크립팅 등의 공격에 대한 보호를 제공합니다.
CORS(Cross-Origin Resource Sharing)은 웹 브라우저에서 다른 출처의 웹 자원에 접근하는 것을 허용하는 기술입니다. 웹 브라우저는 SOP에 의해 다른 출처의 웹 자원에는 접근할 수 없지만, CORS는 이러한 제약을 풀어줍니다.
서버에서 CORS를 허용하도록 설정하면, 웹 브라우저는 서버에서 제공하는 HTTP 헤더의 정보를 통해서 다른 출처에서 온 요청이 허용된 것인지 판단할 수 있습니다. 요청이 허용된 경우에 한해서, 웹 브라우저는 다른 출처의 웹 자원에 접근할 수 있게 됩니다.
처음에 서버를 작성할 때, 웹 어플리케이션에서의 CORS 정책을 설정할 수 있습니다.
서버에서 CORS 정책을 설정하는 것은, 어떤 도메인이 서버에 요청을 보낼 수 있는지 제어하는 것입니다.
예를 들어 서버에서 Access-Control-Allow-Origin 헤더를 설정하여
`http://example.com` 도메인에서의 요청만 허용할 수 있도록 할 수 있습니다. 이 경우, 다른 도메인에서의 요청은 허용되지 않습니다.
웹 서버는 다른 도메인에서의 접근을 허용하지 않는 것이 기본입니다.
그러나 특정 경우에서는 접근을 허용하는 것이 필요합니다.
예를 들어 공공 API를 제공하는 서버나, 구글 맵 같은 리소스 등이 있습니다.
'프론트엔드 개발 > Interview' 카테고리의 다른 글
CSR과 SSR의 차이 (0) | 2023.02.10 |
---|---|
순수함수란, 불변성과 사이드 이펙트 (0) | 2023.02.10 |
Promise의 기능과 필요한 이유 (0) | 2023.02.10 |
<li> 요소는 왜 <ul> 혹은 <ol> 요소의 자식 요소여야만 하나요? (0) | 2023.01.11 |
왜 css <link>는 <head>내에 선언하고, js <script>는 <body> 직전에 위치시키나요? (0) | 2023.01.11 |