CORS(Cross Origin Resource Sharing)는 서로 다른 출처의 리소스를 공유하는 것을 허용하는 정책입니다. 브라우저는 기본적으로 서로 다른 출처에 대해서 공유를 제한하는 SOP(Same Origin Policy)를 따릅니다.
CORS를 사용하면 다음과 같은 작업을 수행할 수 있습니다.
- 다른 출처의 리소스를 가져오는 데 사용합니다.
- 다른 출처의 리소스에 데이터를 전송하는 데 사용합니다.
- 다른 출처의 리소스를 수정하는 데 사용합니다.
- Node.js에서 CORS를 구현하려면 cors 모듈을 사용합니다. cors 모듈은 cors() 함수를 제공합니다. cors() 함수를 사용하여 요청을 허용할 출처를 지정할 수 있습니다.
- Nest.js에서 CORS를 구현하려면 @Controller() 데코레이터와 @EnableCors() 데코레이터를 사용합니다. @Controller() 데코레이터를 사용하여 요청을 처리하는 컨트롤러를 생성할 수 있습니다. @EnableCors() 데코레이터를 사용하여 요청을 허용할 출처를 지정할 수 있습니다.
지금 프로젝트를 하면서cors에러를 경험했었는데
@EnableCors() 를 사용하였고
- Access-Control-Allow-Origin: 프론트앤드가 접속할 도메인
- Access-Control-Allow-Methods: get post put patch delete 메소드를 지정하여 crud를 가능하도록 허용하였습니다.
- Access-Control-Allow-Credentials: 쿠키의 사용을 위하여 true로 설정하였습니다.
- Access-Control-Expose-Headers: http 헤더로 필요한 값을 받기 위해 accessToken 과 refereshToken 을 허용하였습니다.
'cs 공부' 카테고리의 다른 글
| TCP/UDP에 대해서 설명해주세요. (1) | 2023.10.24 |
|---|---|
| 쿠키, 세션의 개념과 차이를 설명해보세요 (0) | 2023.10.24 |
| 브라우저의 작동방식에 대해서 설명해주세요. (0) | 2023.10.24 |
| HTTP 메서드에 대해 설명해주세요. (0) | 2023.10.24 |
| Primary Key, Foreign Key에 대해 설명해주세요. (0) | 2023.10.19 |