OPTIONS Method
http 통신을 할때 메서드를 이용해 해당 요청이 어떤 요청인지를 파악하고 그에 맞는 요청을 처리한다. 대표적인 메서드는 다음과 같다
- GET: 서버에 리소스를 요청한다
- POST: 서버에 리소스를 수정한다
- DELETE: 서버에 리소스를 제거한다
- PUT: 서버에 리소스를 부분 변경한다
- HEADE: GET 요청을했을때 response 받을 헤더를 요청한다.
- PATCH: 서버에 리소스를 대체한다.
- TRACE: 서버에 경로를 추적하며 loop-back 테스트를 한다.
- OPTIONS: 예비 요청을 위해 사용함
여기서 OPTIONS 메서드는 origin이 다른 서버에 요청을할 때 prefilght를 하기위해 사용되는 메서드다.
출처(Origin)
URL은 다음과 같은 구성요소로 되어있다. 여기서 출처(Origin)는 Protocol, Host로 구성되어 있다.

브라우저는 출처(Origin)가 다른 클라이언트에 기본적으로 허용하지 않는다.
CORS
CORS란 Cross-Origin Resource Sharing의 약자로 우리말로는 교차 출처 리소스 공유라고한다. 보안 상의 이유로 브라우저는 스크립트에서 시작한 교차 출처 HTTP 요청을 제한한다. CORS 는 교차 출처 리소스를 호스팅하는 서버가 실제 요청을 허가할 것인지 확인하기 위해 브라우저가 보내는 "사전 요청(Preflight)" 메커니즘에 의존한다.
브라우저는 출처가 다른 서버에 요청을 보내기전 실제 요청을 보내는 것이 안전한지 판단하기 위해 브라우저가 먼저 OPTIONS 메서드를 사용해 다른 출처의 리소스에 HTTP 요청을 보낸다.
서버에서 Access-Control-Allow-Origin 헤더를 설정해 요청을 수락할 출처를 명시적으로 지정하면 된다.
Access-Control-Allow-Origin: <origin> | *
출처
교차 출처 리소스 공유 (CORS) - HTTP | MDN
교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 브라우저가 자신의 출처가 아닌 다른 어떤 출처(도메인, 스킴 혹은 포트)로부터 자원을 로딩하는 것을 허용하도록 서버가 허가 해주는 HTTP
developer.mozilla.org
CORS(교차 출처 리소스 공유) | 토스페이먼츠 개발자센터
CORS를 번역하면 “교차 출처 리소스 공유”에요. ‘두 출처가 서로 다르다’는 뜻인데요. CORS를 설정한다는 건 ‘출처가 다른 서버 간의 리소스 공유’를 허용한다는 거죠.
docs.tosspayments.com
'네트워크' 카테고리의 다른 글
[소켓 프로그래밍] TCP/IP 프로토콜 (0) | 2024.10.15 |
---|