출처(Origin)는 서버의 위치를 찾아가기 위해 필요한 기본적인 것들을 합쳐놓은 것을 말한다
서버의 위치를 의미하는 url은 하나의 문자열 처럼 보이지만, 자세히보면 여러 개의 구성요소로 나뉘어져 있다.
이때 출처는 url의 구성 요소 중 프로토콜, 호스트(도메인), 포트 이 세가지를 합친 것을 말하며, 이 세가지가 모두 일치한가 아닌가에 따라 같은 출처인지 아닌지가 판단되어진다.
같은 출처인지 다른 출처인지 이해를 돕기 위해 예제를 하나 살펴보겠다. 현재 웹페이지의 주소가 http:/yeon55/.github.io:80
일 때 같은 출처인지 다른 출처인지 아래와 같은 결과를 확인할 수 있습니다.
URL | 결과 | 이유 |
---|---|---|
http://yeon55.github.io/about | 같은 출처 | Protocal, Host, Port 동일 |
http://yeon55.github.io/about?q=work | 같은 출처 | Protocal, Host, Port 동일 |
http://yeon55.github.io/about#work | 같은 출처 | Protocal, Host, Port 동일 |
https://yeon55.github.io | 다른 출처 | Protocal 다름 |
https://yeon55.github.io:81/about | 다른 출처 | Port 다름 |
https://yeon55.hello.com | 다른 출처 | Host 다름 |
출처에서 포트 번호는 생략이 가능한데, 웹에서 사용하는 http 프로토콜은 포트가 비어있을 경우 기본적으로 포트 번호가 80이라고 가정하기 때문이다.