본문 바로가기

개발/Javascript

동일출처정책(same origin policy)

이슈:

프로젝트 중, test를 하기 위해서 json형식으로 데이터를 내려주는 url로 ajax 요청을 했다.

url은 라이브러리 설명의 예제에 나온 것이어서 그냥 복붙한건데, 데이터가 내려오지 않았다.

이유는 동일출처정책 때문!!


동일출처정책

출처: 위키피디아

설명(번역):

동일출처정책이란 모든 웹페이지가(하나의 웹서비스에서) 동일한 출처를 써야한다는 보안정책이다. 출처(origin)라는건 URI scheme, hostname, port number 의 조합이다. 

페이지의 DOM을 통한 다른 웹 페이지에 있는 취약한 데이터 접근시도로부터의 악성 스크립트를 막는다.

이 정책은 특히 user 세션 권한을 유지하도록 하는 HTTP 쿠키에 의존하는 요즘 웹 어플리케이션에서 중요하다.


예를들어

http://www.example.com/dir/page2.html


http://www.example.com/dir2/list.html - 가능, 동일한 프로토콜, 호스트, 포트

http://www.example.com:81/dir/page2.html - 불가능, 포트 다름

https://www.example.com/dir/page2.html - 불가능, 프로토콜 다름

http://en.example.com/dir/page2.html - 불가능, 호스트 다름



추가설명

출처: W3C

설명(번역): 

동일출처정책은 보내고 받는 것을 구별하는데, 보낼때는 다른 출처가 가능하지만, 받을 때는 동일한 출처만 가능하다. 악의적인 웹사이트가 다른 웹사이트로부터 기밀 정보를 읽는 것을 막기위한 정책이다. 



+

문장이 정말 매끄럽지 못하다.

물론 어떤건지, 무슨말 하는지는 알겠으나 과연 나도 100%이해 했다고 할 수 있을까?

98%이해한 것 같은데, 영어가 문제인가

영어공부를 열심히 해야겠다.


2%는 보안이 얼마나 문제라는건지..

사실 보안이 핵심이니까 2%만 이해한것일수도..

일단 오늘 테스트를 못한 원인과, 앞으로 왜 쓰지말하야하는지 이유를 알았다.