
Q1. CORS(Cross Origin Resource Sharing)에 대해 설명해주세요.
SOP(Same-Origin Policy, 동일 출처 정책)는 브라우저에서 실행되는 웹 페이지가 다른 출처로부터 불러온 리소스에 제한을 둠으로써 보안을 강화하는 메커니즘입니다. 이는 기본적으로 동일 출처에서 로드된 문서만이 서로 상호 작용할 수 있도록 제한합니다.
하지만, 현대의 웹 애플리케이션에서는 여러 출처의 리소스를 사용하는 경우가 많은데, 이때 SOP는 제약이 될 수 있습니다. 이때 CORS가 필요합니다.
CORS(Cross-Origin Resource Sharing)는 웹 페이지가 다른 출처에 있는 리소스를 요청할 때 브라우저가 사용하는 메커니즘으로, 이를 통해 추가적인 HTTP 헤더를 사용하여 브라우저와 서버 간의 통신을 허용합니다. 이를 통해 다른 출처의 리소스에 안전하게 접근할 수 있게 됩니다. 요청은 브라우저에서 시작되지만, 서버에서 올바른 헤더를 사용하여 응답해야 합니다.
Q2. 브라우저의 작동방식에 대해서 설명해주세요.
사용자가 웹 브라우저를 열고 URL을 입력하거나 하이퍼링크를 클릭합니다.
브라우저는 URL에서 호스트 이름을 추출하고 DNS(Domain Name System) 서버를 통해 해당 호스트의 IP 주소를 가져옵니다.
브라우저는 서버에 HTTP 요청을 보냅니다. 이 요청에는 메서드(GET, POST 등)와 함께 요청하는 리소스의 경로 등이 포함됩니다.
서버는 요청을 받고 처리한 후에 HTTP 응답을 생성합니다. 응답에는 상태 코드, 헤더 및 리소스(HTML 문서, 이미지 등)가 포함될 수 있습니다.
브라우저는 응답을 받아서 렌더링합니다. HTML은 DOM(Document Object Model)으로 파싱되고, CSS는 스타일 규칙에 따라 렌더링되고, JavaScript는 실행됩니다.
렌더링된 페이지가 사용자에게 표시됩니다. 사용자가 페이지와 상호 작용하면서 브라우저는 추가적인 요청을 생성하고 응답을 처리합니다.