_won_
wonprogrammer
_won_
전체 방문자
오늘
어제
  • 분류 전체보기
    • woncoding
      • TIL
      • WIL
    • source Code
      • Python
      • Programmers
      • BAEKJOON

블로그 메뉴

  • 방명록

티스토리

Github · Wonprogrammer
hELLO · Designed By 정상우.
_won_

wonprogrammer

TIL | 1.23.월 [CS 기초지식 | CORS]
woncoding/TIL

TIL | 1.23.월 [CS 기초지식 | CORS]

2023. 1. 25. 16:28

CORS

- CORS란?

다른 사용자가 원래 사이트를 흉내 낼 수 없게 브라우저를 보호하기 위한 메커니즘이다.

브라우저는 보안적인 이유로 cross-origin HTTP 요청들을 제한한다. 그래서 cross-origin  요청을 하려면 서버의 동의가 필요합니다.

만약 서버가 동의한다면 브라우저에서는 요청을 허락하고, 동의하지 않는다면 브라우저에서 거절하는 즉, 브라우저에서 cross-origin 요청을 안전하게 할 수 있도록 하는 메커니즘을 CORS라고 한다.

 

- CORS 구현 방법

  1. 서버로 요청을 합니다.
  2. 서버의 응답이 왔을 때 브라우저가 요청한 Origin과 응답한 헤더 Access-Control-Request-Headers의 값을 비교하여 유효한 요청이라면 리소스를 응답합니다. 만약 유효하지 않은 요청이라면 브라우저에서 이를 막고 에러가 발생합니다.

 

- Django에서 CORS 구현

  1. django-cors-headers 패키지 설치: pip install django-cors-headers
  2. 프로젝트 설정에 추가
    • 프로젝트의 settings.py 파일에 'corsheaders'를 추가하여 애플리케이션에서 사용 가능하도록 합니다.
  3. CORS_ORIGIN_WHITELIST 설정
    • 허용되는 도메인을 설정 CORS_ORIGIN_WHITELIST = ['http://localhost:8000', 'http://127.0.0.1:8000', 'http://example.com']
  4. Middleware 설정
    • 'corsheaders.middleware.CorsMiddleware'를 MIDDLEWARE 설정에 추가(최상단에 추가)
저작자표시 비영리 변경금지 (새창열림)

'woncoding > TIL' 카테고리의 다른 글

TIL | 1.25.수 [CS 기초지식 | Stack / Queue / Array / Linked List]  (0) 2023.01.26
TIL | 1.24.화 [CS 기초지식 | Semaphore / Mutex / Cookie]  (0) 2023.01.25
TIL | 1.20.금 [CS 기초지식 | HTTP / HTTPS]  (0) 2023.01.25
TIL | 1.19.목 [CS 기초지식 | 정규화]  (0) 2023.01.25
TIL | 1.18.수 [CS 기초지식 | 트랜잭션]  (0) 2023.01.25
    'woncoding/TIL' 카테고리의 다른 글
    • TIL | 1.25.수 [CS 기초지식 | Stack / Queue / Array / Linked List]
    • TIL | 1.24.화 [CS 기초지식 | Semaphore / Mutex / Cookie]
    • TIL | 1.20.금 [CS 기초지식 | HTTP / HTTPS]
    • TIL | 1.19.목 [CS 기초지식 | 정규화]
    _won_
    _won_
    Coding Practice blog

    티스토리툴바