← 질문 목록
#391깊이 0

브라우저는 왜 실제 요청 전에 Preflight 요청을 보내는가?

네트워크

서버가 부작용을 일으키는 교차 출처 요청을 받지 않도록 미리 보호하기 때문이다.

  1. 1. 브라우저에서 서버로: OPTIONS (Preflight 요청)
  2. 2. 서버에서 브라우저로: Access-Control-Allow-* 응답
  3. 3. 브라우저에서 서버로: 실제 요청 (POST, PUT, DELETE 등)

교차 출처 요청 중 단순 요청 조건을 벗어나면 브라우저는 OPTIONS 메서드로 사전 요청을 보낸다. 서버가 해당 출처와 메서드를 허용하는지 미리 확인한다.

서버가 CORS를 지원하지 않아도 데이터가 변경되거나 삭제되는 상황을 막는다. 사전 검증에 실패하면 브라우저는 실제 요청을 아예 보내지 않는다.

응답 헤더의 Access-Control-Max-Age로 Preflight 결과를 캐싱한다. 반복되는 사전 요청 비용을 줄인다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

브라우저는 왜 실제 요청 전에 Preflight 요청을 보내는가?