Notice
Recent Posts
Recent Comments
Link
투케이2K
42. (Network/네트워크) CORS (Cross Origin Resource Sharing) 설명 - 교차 원본 리소스 공유 본문
Network
42. (Network/네트워크) CORS (Cross Origin Resource Sharing) 설명 - 교차 원본 리소스 공유
투케이2K 2023. 9. 19. 20:43[구 분]
구분 : Network / 네트워크
제목 : CORS (Cross Origin Resource Sharing) 설명 - 교차 원본 리소스 공유
[설 명]
1. CORS 는 교차 원본 리소스 공유 의미로, 다른 Origin (도메인 / 프로토콜) 등으로 들어오는 요청을 허용해주는 HTTP 헤더 기반 메커니즘입니다
>> 요청이 어느 주소에 시작되었는지 나타내는 값 = 요청을 보낸 주소와 받는 주소가 다르면 CORS 발생
2. CORS 는 보안상의 이유로 브라우저는 스크립트에서 시작된 교차 출처 HTTP 요청을 제한합니다
>> API 를 사용하는 웹 애플리케이션은 다른 출처의 응답에 올바른 CORS 헤더가 포함되지 않는 한 애플리케이션이 로드된 동일한 출처에서만 리소스를 요청할 수 있습니다
3. CORS 표준은 서버가 웹 브라우저에서 해당 정보를 읽을 수 있는 새로운 HTTP 헤더를 추가하여 작동합니다
4. HTTP 요청 및 승인 절차
>> HTTP 요청의 경우 브라우저가 요청을 "사전 실행" 하여 서버에서 지원되는 방법을 요청
"Origin" : 해당 위치에서 요청을 보낸다
"Access-Control-Request-Method" : 어떤 메소드의 요청을 보낼건지 물어본다
"Access-Control-Request-Headers" : 실제 요청에 추가 헤더를 무엇을 보낼 수 있는지 물어본다
>> HTTP 요청 방법 사용이 서버에서 "승인" 되면 실제 요청을 보냅니다
"Access-Control-Allow-Origin" : 해당 Origin 을 허가한다
"Access-Control-Allow-Methods" : 해당 메소드 들의 요청을 허가한다
"Access-Control-Allow-Headers" : 해당 헤더 들을 허가한다
"Access-Control-Max-Age" : 응답의 캐시 기간, 해당 캐시가 있을시 preflight 과정을 건너뛴다
>> 서버는 요청과 함께 "자격 증명" (예: 쿠키 및 HTTP 인증 ) 을 보내야 하는지 여부를 클라이언트에게 알릴 수도 있습니다
-------------------------------------------------------------
[서버에 요청]
"Origin" : 해당 위치에서 요청을 보낸다
"credentials : include" : 자격증명 정보가 포함된다
자격증명 정보 : 헤더나 쿠키 등
-------------------------------------------------------------
[서버의 응답]
"Access-Control-Allow-Origin" : 해당 Origin 을 허가한다
"Access-Control-Allow-Credentials: true" : 자격증명을 허가한다
5. CORS 필요 이유 및 서버 설정 방법
>> CORS 는 보안상 제한을 걸기 위해 필요하며 (요청을 보낸 주소와 받는 주소가 다르면 접근 거부),
서버에서는 믿을 수 있는 다른 브라우저에서 요청이 온 경우 서버 설정에서 접근 허가 설정을 할 수 있습니다
반응형
'Network' 카테고리의 다른 글
44. (Network/네트워크) HTTP 쿠키 (Cookie) 설명 (0) | 2023.09.20 |
---|---|
43. (Network/네트워크) HTTP 리다이렉트 (ReDirect) 설명 (0) | 2023.09.20 |
41. (Network/네트워크) TLS (Transport Layer Security) 설명 (SSL) (0) | 2023.09.19 |
40. (Network/네트워크) HTTP Headers 헤더 간단 설명 및 주요 종류 확인 (0) | 2023.09.18 |
39. (Network/네트워크) RTT (Round Trip Time) 왕복 시간 설명 (0) | 2023.09.18 |
Comments