티스토리 뷰

dev

CORS (Cross Origin Resource Sharing)

maxidea1024 2017. 8. 28. 09:49

CORS (Cross Origin Resource Sharing)


Cross-Site Http Request를 가능하게 하는 표준 규약입니다.


다른 도메인으로부터 리스소가 필요할 경우 cross-site http request가 필요하게 됩니다. 기존에는 XMLHttpRequest는 보안상의 이유로 자신과 동일한 도메인으로만 HTTP 요청을 보내도록 제한 하였습니다. 즉, cross-origin http 요청을 제한하였죠.


하지만, 지속적으로 웹 애플리케이션을 개선하고 쉽게 개발하기 위해서는 이러한 request가 꼭 필요했습니다. 그래서 XMLHttpRequest가 cross-domain을 을 요청할 수 있도록 하는 방법이 필요하게 되었죠. 이러한 여청을 바탕으로 CORS가 탄생 하였습니다.



1. CROS의 종류


크게 4종류로 나누어 볼 수 있습니다. 4가지 종류는 아래와 같습니다.


- Simple Request

- Preflight Request

- Credential Request

- Non-Credential Request


1.1 Simple Request

- GET, HEAD, POST 중 한가지 방식을 사용.

- POST일 경우에는 Content-type이 아래 셋중 하나를 만족해야함.

  - application/x-www-form-urlencoded

  - multipart/form-data

  - text/plain

- 커스텀 헤더를 전송하지 않아야함.


1.2 Preflight Request

이름에서 볼수 있는 것처럼, Preflight(예비) 요청을 먼저 보내고 서버가 이에 응답이 가능한지 확인 합니다. 예비 요청은 OPTIONS 메소드로 HTTP 요청을 전송합니다.

이 후 실제 Actual (본) 요청을 보냅니다.

그리고 서버가 이에 응답하며 통신을 하는 형태입니다.


1.3 Credential Request


1.4 Non-Credential Request




References:

http://adrenal.tistory.com/16

https://developer.mozilla.org/ko/docs/Web/HTTP/Access_control_CORS

http://blog.iolo.kr/494







'dev' 카테고리의 다른 글

TCP  (0) 2017.08.29
UDP를 사용할 때 고려해야 할 것들  (0) 2017.08.28
ARQ  (0) 2017.08.28
프로비져닝(provisioning)  (0) 2017.08.25
Swagger로 API 문서 자동화하기  (0) 2017.08.25
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함