-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Q7) CORS (Interview Question in HTTP) #18
Comments
즉석 원치않는 곳에서 요청이 들어왔을때에 이를 막기위한 개념으로 이해하고 있습니다. 해결법은 요청을 받은 서버에서 요청에 대한 응답으로 set-origin ..머시기 헤더에 요청을 허용할 ip주소를 명시하거나 보충 CORS는 다른 출처간의 리소스 공유를 뜻합니다. CORS문제는 다른 출처의 요청을 허용해주는지에 대해 명시하지 않으면 발생합니다. 해결법으로는 |
과거에 웹은 단순히 클라이언트의 요청에 따라 특정 서버의 텍스트나 이미지를 제공해주어도 충분했습니다. 클라이언트에게 한 번에 다양한 서버의 정보를 한 번에 보여주는 방법은 2가지가 있습니다.
하지만 웹브라우저 정책 중 도메인이 다르면 요청을 주고 받을 수 없는 정책이 있습니다. SOP(Same-Origin Policy) 시대에 변화에 클라이언트(웹브라우저)는 이를 공식적으로 인정하는 정책을 만들었는데 이것이 바로 CORS(Cross Origin Resuorce Sharing) 입니다. (다른 출처간의 리소스 공유) 추가 내용 같은 출처, 다른 출처, Origin은 무엇일까요?출처, Origin란 URL의 구성 요소 중 Scheme, Host, Port가 동일해야 합니다.
웹 클라이언트가 다른 출처의 리소스를 요청웹 클라이언트(브라우저)가 다른 출처의 리소스를 요청할 떄 HTTP 프로토콜을 사용하여 요청하는데
ex)
이때 웹 서버의 요청 응답의 참고 |
즉석 보충 보안상의 이유로 하지만 웹에서는 출처가 다른 리소스와의 상호작용이 반드시 필요하기 마련입니다. 따라서 CORS 정책을 지키는 리소스 요청이라면 출처가 다르더라도 허용됩니다. 클라이언트가 요청메세지의 Origin헤더 해당 출처를 적어보내고, 그 응답으로 서보로부터 받은 응답메세지의 Access-Control-Allow-Origin의 내용을 자신이 보냈던 Origin헤더 내용을 비교해본 후 유효한 응답인지 아닌지를 결정하는 메커니즘으로 동작합니다. |
SOP(Same-Origin Policy) : 서버는 원칙적으로 같은 오리진에서만 오는 요청에 대해서만 응답을 보내줍니다. 하지만 보통의 클라이언트가 아닌 서버가 또다른 서버에게 요청을 보내기도 하는데 이때 CORS가 이용됩니다. |
CORS(Cross-Origin Resource Sharing)란 다른 출처의 자원에 접근할 수 있도록 허용해주는 브라우저 보안 정책입니다. SOP(Same Origin Policy)에 의해 서버는 같은 출처에 대한 HTTP 요청에 대해서만 리소스를 보내줍니다. 여기서 같은 출처란 같은 프로토콜, 호스트, 포트를 뜻합니다. 하지만 외부 API를 사용하거나 프론트 서버와 백엔트 서버의 포트를 다르게 사용하는 등 서버를 분리하는 경우에는 다른 출처의 리소스를 가져와야만 하는 상황이 빈번히 발생합니다. 이처럼 클라이언트와 서버의 출처가 다를 때 보안 상의 이유로 응답을 받지 못 하도록 막은 것을 CORS에러라 합니다. CORS에러를 해결하기 위해서는 서버측에서 |
CORS가 무엇인지, 그리고 어떻게 해결을 할 수 있는지 간단하게 설명해주세요
The text was updated successfully, but these errors were encountered: