우선
# SOP(=Same-origin Policy)
= 동일 출처 정책
어떤 출처(origin)에서 불러온 문서나 스크립트가
다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 보안 방식
같은 출처인 걸 어떻게 구분하는데?
→ Protocol, Host, Port가 같아야 같은 출처로 인정해줌
근데.. 어떻게 다 같은 출처야..
요즘 다 밖에서 API 따서오고 다른 출처로부터 리소스 요청이 엄청 많은데?
그래서 CORS라는 정책이 생겼다
# CORS(= Cross-Origin Resource Sharing)
= 교차 출처 리소스 공유
다른 출처의 자원에 접근할 수 있는 권한을 부여하도록 브라우저에게 알려주는 체제
서버측에 다른 출처지만 접근해도 됩니다~ 라는 걸 알려줘야한다
CORS는 백엔드 서버에서 설정되며, 올바른 CORS header를 포함한 응답을 반환해줘야 함
여기서 우리의 백엔드 서버는 장고이므로 장고에서 하는 방법을 한번 보자
우선 CORS를 쓰기 위해 install을 진행해주자
pip install django-cors-headers
그다음에 settings.py에 세가지를 추가해준다
# settings.py
INSTALLED_APPS = [
...
'corsheaders', # 추가
]
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware', # 추가
]
# 전체 추가, 어느 주소를 허용할건지를 쓰는 곳
CORS_ALLOWED_ORIGINS = [
# 여기는 우리가 쓰는 프론트엔드(vue) 서버의 주소를 적어준다
'http://localhost:',
]

'BackEnd > Django' 카테고리의 다른 글
| [Django] API KEY 숨기는 방법 (1) | 2023.10.27 |
|---|---|
| [Django] API 문서화 (0) | 2023.10.19 |
| [Django] DRF(2) N:1 Relation (0) | 2023.10.19 |
| [Django] DRF(1) single model (0) | 2023.10.18 |
| [Django] DRF란? (0) | 2023.10.18 |