본문 바로가기

Spring

항해 99 5주 - 마무리

이번주는 정리해보면 나름 알찬거 같다.

모든 과제를 구현했고, 프로젝트 진행 상황도 나름대로 빠른 편이라 생각할 수 있는 편이기 때문에 열심히 달려온 한 주였다.

그럼 이번주의 topic인 CORS에 대하여 말해보려 한다.

CORS란, 교차 출처 리소스라는 것으로 최초의 자원이 다른 외부의 도메인에 요청을 넣는 방식을 말한다. 이 방식이 필요한 이유는 원하지 않는 요청에 대하여 그 요청이 수행되는 것을 막기 위하여 있다고 생각한다. 예를 들어, 과장된 예시이지만, 다른 사이트에서 검색을 하다 외부 사이트로 요청이 들어갔는데, 그 요청에 스크립트가 숨겨져 있어 은행 계좌에서 돈을 출금하는 API를 호출한다면 너무나 큰일인데, 이를 방지하기 위하여 CORS가 필요한 것이다.

이를 위하여 2가지 조건이 필요하다. Simple Request, Preflight Request 이 2가지인다.

  1. Simple Request
  2. 이는 말그대로 간단한 요청을 말한다.

- GET, POST, HEAD 방식의 요청

- 수동으로 설정한 헤더의 값을 "CORS-safelist request header" 로 정의

- 요청에 ReadableStream이 아닌 경우

\ - content-tpye의 해더가 application/x-www-form-urlencoded, 와 multipart/form-data, text/plain 중 하나여야 함

위와 같은 조건을 지키면 Simple Request로 CORS를 이용가능하다.

  1. Preflight Request

이는 메인 요철을 하기 전에 하는 사전 요청으로 나는 이런 요청을 이런 해더를 사용해서 실행할 것입니다. 하고 미리 말해주는 것이다 ,.

     

     EX) 예를 든다면 아래와 같다

  • Access-Control-Request-Method 헤더에 실제 요청에 사용할 메소드를 설정합니다.
  • Access-Control-Request-Headers 헤더에 실제 요청에 사용할 헤더들을 설정합니다.

위의 2가지 조건을 통해 CORS를 사용가능하게 하는 것이다.

'Spring' 카테고리의 다른 글

항해 99 6주차 - 2일  (0) 2023.09.19
항해 99 6주차 - 1일  (0) 2023.09.19
항해 99 5주차 - 6일  (0) 2023.09.16
항해 99 5주차 - 5일차  (1) 2023.09.15
항해 99 5주차 - 4  (0) 2023.09.14