Ch.Covelope

SOP(same origin policy)-동일 출처 정책,CORS(cross origin resource sharing)-교차 출처 리소스 공유 본문

Server , etc

SOP(same origin policy)-동일 출처 정책,CORS(cross origin resource sharing)-교차 출처 리소스 공유

Chrysans 2022. 3. 31. 01:09
728x90
반응형

 

SOP(same origin policy)-동일 출처 정책

CORS(cross origin resource sharing)-교차 출처 리소스 공유

 

 

 

여기서 origin 은 protocol , host, port 

 

 


 

 

 

SOP

 

 어떤 출처(protocol , host, port = origin)에서 불러온 문서, 스크립트, 리소스가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 브라우저 보안 방식.

예를 들어 SOP가 없다면 클라이언트가 우연히 악성 사이트에 접속해서 해커가 만든 스크립트가 실행되어 클라이언트의 개인 정보나 다른 민감한 정보가 있는 사이트에 요청을 보낸 뒤 그 응답 값을 다시 해커 서버로 보내 개인 정보를 탈취할 수 있게 된다. 하지만 SOP 정책으로 인해 해커의 스크립트 출처와 요청을 받은 사이트의 출처가 다르면 브라우저에서 이를 비교하고 (CORS policy) 에러를 출력한다.

 

 


 

 

CORS

 

CORS 는 SOP 의 반대로 교차 출처 공유로 다른 출처의 리소스에 공유나 상호작용이 가능하게 한다.

origin(출처) 가 다를 경우 header에 자신의 출처를 포함하여 보내고 응답 헤더의 Access-Control-Allow-Origin 을 확인하여 요청한 출처가 명시되어 있거나 모든 출처를 허용하면 유효한 요청으로 판단한다.

 

 

simple request-단순요청(예비 요청 단계 생략)

 

단순요청의 조건

1.  GET, POST, HEAD 메소드중 하나

2.  Accept, Accept-Language, Content-Language, Content-Type, DPR, Downlink, Save-Data, Viewport-Width, Width를 제외한 헤더를 사용하면 안된다.

3. 만약 Content-Type를 사용하는 경우에는 application/x-www-form-urlencoded, multipart/form-data, text/plain만 허용된다.

 

 

Preflight request-(예비요청-본요청)

 

OPTION 메소드로 예비요청을 보내서 안전한지 먼전 판단한 후에 확인이 되면 본 요청을 다시 보내는 방법.

 

 

 

 

 

 

※SOP 정책은 브라우저 정책이기 때문에 서버간에는 출처가 달라도 CORS 오류가 나지 않는다.


평소에 공부하면서 코딩을 할 때 필요한 데이터는 더미로 만들거나 직접 불러와서 사용해와서 처음에는 이해하기 어려웠고 포스팅된 내용보다 훨씬 더 깊은 내용들이 있지만 아직은 깊이 탐구하기에는 많이 부족해서 점차 알아가도록 해야겠다.

 

 

 

https://github.com/chry8822

 

chry8822 - Overview

‘Keep true to the dreams of thy youth’ . chry8822 has 26 repositories available. Follow their code on GitHub.

github.com

 

 

 

 

 

 

 

 

 

728x90
반응형
Comments