Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Kim ByeungHyun

<WIL> 10.17 ~ 10.23 / 주특기 심화, CORS 본문

공부/항해99

<WIL> 10.17 ~ 10.23 / 주특기 심화, CORS

sandbackend 2022. 10. 23. 19:08
주특기 심화

 

심화주차 과제

JWT, CRUD 위주로 공부

협업을 위주로 한 팀과제, 깃을 이용해서 pull commit push branch merge comfiit 등 여러가지를 해볼수 있던 주차였다

sparta-organization-9C8/spting-boot-deep-9c8 (github.com)

 

GitHub - sparta-organization-9C8/spting-boot-deep-9c8

Contribute to sparta-organization-9C8/spting-boot-deep-9c8 development by creating an account on GitHub.

github.com

 

CORS

 

내 인증정보/개인정보를 탈취해다가 사용할수도있다. 그것을 방지 하기 위해 SOP가 막아주고 CORS는 풀어준다.

 

Cross-Origin  Resourse Sharing  교차 출처 자원 공유 방식

- 다른 출처간에 리소스를 공유할 수 있도록  하는 걸 말한다.

출처는 보내고 받는 각각의 위치 즉, 웹사이트랑 API의 주소.

리소스는 주고 받아지는 데이터.

==> 서로 다른 API끼리 정보 요청과 반환이 가능하도록 하는게 CORS

 

조건

1. 요청을 받는 백엔드 쪽에서 허락할 다른 출처들을 미리 명시 - 허용 할 사이트를 미리 적어준다

그럼 얼마든지 HTTP요청을 보낼수 있다. 일반적인 것은 별표(*), 와일드 카드를 적어 놓음.

 

깊게파보자

다른 출처들 끼리 보내질때는 요청에 Orgin이라는 header를 추가한다.

Orgin 항목에는 요청하는 쪽의 schema, 도매인, 포트가 담긴다.

*schema : 요청할 자원에 접근 할 방법 (http, ftp, telnet등), 프로토콜 이라고도 함.

 

 

http://rlaqudgus.tistory.com:443  --> 여기에서

http -> schema

0000.com -> 도메인

:443 -> 포트

 

Kim ByeungHyun

 

rlaqudgus.tistory.com

이 요청을 받은 API서버는 당장의 헤더에 지정된 Access-Control-Allow-Origin 정보를 실어서 보낸다.

 

 

토큰 등 사용자 식별 정보가 담긴 요청에 대해서는 보다 엄격하기에 보내는 측에서는 요청의 옵션에 credentials 항목을 true로 세팅해야 하고 받는쪽에서도 아무 출처나 다 된다는 와일드 카드가 아니라 보내는 쪽의 출처 -웹페이지 주소를 정확하게 명시한 다음 Access-Control-Allow_Credentials 항목을 true로 맞춰줘야 한다. ==> 양쪽다 빡세게 조건을 갖춰야함.

 

-> GET 이나 POST는 간단한 요청, PUT이나 DELETE는 Preflight 요청이라는 걸 먼저 보내서 본요청이 안전한지 확인하고허락이 떨어져야 본격적으로 요청을 보낼수 있다

 

추가학습자료

https://sdardew-valley.tistory.com/m/entry/Spring-CORS-%ED%94%84%EB%9F%B0%ED%8A%B8%EC%97%94%EB%93%9C%EC%99%80-%EB%B0%B1%EC%97%94%EB%93%9C-%EC%97%B0%EA%B2%B0

 

[Spring] CORS - 프런트엔드와 백엔드 연결

CORS Cross-Origin Resource Sharing의 약자 리소스를 제공한 도메인이 현재 요청하려는 도메인과 다르더라도 요청을 허락해 주는 웹 보안 방침 위키피디아: 웹 페이지 상의 제한된 리소스를 최초 자원이

sdardew-valley.tistory.com