서버/클라이언트/CORS/CSRF

Rina's·2023년 7월 31일

코드스테이츠

목록 보기
87/96

서버와 클라이언트

웹서버(프론트엔드)
웹 애플리케이션 서버(백엔드)
배포 ->
운영 웹 애플리케이션 서버
운영 웹서버

CORS

Cross-Origin Resource Sharing
SOP(Same Origin Policy)를 해결하기 위한 예외 조항(권한 부여)

CORS 정책 동작 방식

프리플라이트 요청
옵션을 통한 사전 요청(프리플라이트 요청)을 하여 응답 헤더의 Access-Control-Allow-Origin으로 요청을 보낸 출처가 돌아오면 실제 요청을 진행. 만약 사전요청이 실패하면 CORS 에러를 띄우게 되고, 실제 요청은 전달되지 않습니다.

단순 요청
특정 조건이 만족되면 프리플라이트 요청을 생략하고 요청을 보내는 것

인증정보를 포함한 요청
요청 헤더에 인증 정보를 담아 보내는 요청. 프론트엔드와 서버 양측 모두 CORS 설정을 해야 함.

CORS 정책 설정 방법

  1. Global 설정 클래스로 특정 도메인에 모두 적용
  2. 애너테이션을 이용해 컨트롤러 단에서 적용
    @CrossOrigin(origins = "[실제 도메인]")를 컨트롤러 또는 메서드에 적용

CSRF

Cross-Site Request Forgery
스프링 시큐리티의 기본값으로 설정된다

profile
갭린이 리나

0개의 댓글