[WIL] 항해99 6주차 - CORS

Doyeon·2023년 2월 26일
0
post-thumbnail

WIL (23.02.20~02.25)

[6주차] 주특기 심화 + 미니 프로젝트

월~목요일은 Spring 심화 공부, 금~토는 미니 프로젝트 진행을 했다.(프로젝트 다음주 목요일까지)

  • 주특기 심화
    • 게시판 만들기 추가기능 구현
      • 회원탈퇴 기능 구현
      • 대댓글 기능 구현
    • 리팩토링
      • security filter 내 예외처리 적용
      • exception log 처리 - @Slf4j
      • 공통 응답 처리
      • 생성자 대신 static method 사용하여 객체 생성
  • 미니 프로젝트
    • 주제 설정, 와이어프레임 작성, ERD 설계, API 명세서 작성
    • 서버 API 기능 구현

CORS

CORS란?

  • Cross-Origin Resource Sharing
  • 웹 브라우저에서 실행되는 스크립트가 다른 출처의 리소스를 요청할 때 발생하는 보안 문제를 해결하기 위한 매커니즘이다.
  • 프론트엔드와 백엔드가 각각 다른 서버에서 실행되고, 프론트엔드에서 백엔드 API 서버로 요청을 보내는 경우에, 출처가 다르기 때문에 Same-Origin Policy에 따라 브라우저에서 보안 상 이유로 요청을 차단한다.
  • 이를 해결하기 위해 서버 측에서 특정 헤더를 추가하여 브라우저에게 요청을 허용해야 한다.

CORS 해결방법

  • 백엔드 API 서버에서 CORS를 지원하도록 구성해야 한다.
  • 서버에서 CORS 활성화, 허용할 출처와 허용할 HTTP 메서드, 헤더 등을 설정해야 한다.
  • Spring Security는 CorsFilter 클래스를 제공하여 CORS 필터를 쉽게 추가할 수 있도록 지원한다.

CORS Header

  • Access-Control-Allow-Origin : 요청 허용 출처 지정
  • Access-Control-Allow-Methods : 허용하는 HTTP 메서드 지정
  • Access-Control-Allow_headers : 허용하는 요청 헤더 지정
  • Access-Control-Expose-Headers : 브라우저가 접근할 수 있는 응답 헤더 지정
  • Access-Control-Allow-Credentials : 요청에 쿠키 포함할 수 있는지 여부 지정

이번주 TIL 모음

[Spring Security] Filter 예외처리는 어떻게 할까?
[JPA] 회원탈퇴 기능 구현으로 알아보는 연관관계 매핑
[JPA] 좋아요 기능 구현과 연관관계 편의 메서드 적용
[Spring] API 요청 성공, 예외처리에서 공통으로 사용하는 ResponseDto 구현

profile
🔥

0개의 댓글