일기
2022-12-18
SHsus
2022. 12. 18. 19:54
이번주차는 너무 .. ㄴ...ㅁ.... 힘들었던 것 같다...
한명의 조원이 몇주간 계속 다뤄온 CRUD 를 할 줄 몰라서 그 부분의 설명을 다시 해주고 깃허브 관련해서도 계속해서 문제가 발생해서 가르쳐주고 하느라 내가 개인적으로 공부해야할 부분들을 많이 못하고 넘어가게 되버린 주였다...
다만, 그러는 과정에서 깃허브와 터미널에 좀 더 익숙해진 점도 있었기 때문에 내가 분명히 얻어가는 부분들도 있었어서 어느정도 만족스러운 경험이었다고 생각한다.
이제 새로운 주를 맞이하면서 내가 필수로 공부해야겠다 생각하는 부분으로는...
- 예외 처리에 대한 복습
- 스프링 시큐리티에 대한 내용을 좀 더 공부하기
- 다른 사람들의 코드를 이용한 부분을 내가 사용하면서 더 다양하게 활용해보기
- 배포 관련해서 생기는 부분에 대해 공부하기
- 프론트와의 협력을 어떻게 하는지...
이 외에도 몇가지가 더 있었던 것 같은데... 우선은 너무 많이 잡지말고 저정도로 정리하고 시작해야겠다.
이번주 지정된 키워드는 CORS....
CORS
Cross-Origin Resource Sharing
출처가 다른 자원들을 공유한다는 의미로, 브라우저에서는 보안적인 이유로 cross-origin HTTP 요청들을 제한한다.
그래서 cross-origin 요청을 하려면 서버의 동의가 필요하다.
이러한 허락을 구하고 거절하는 메커니즘을 HTTP-header를 이용해서 가능한데 이를 CORS 라고 한다.
즉, 브라우저에서 cross-origin 요청을 안전하게 할 수 있도록 하는 메커니즘을 말한다.
cross-origin 이란 다음 중 한 가지라도 다른 경우를 말한다.
- 프로토콜 - http 와 https 는 프로토콜이 다르다.
- 도메인 - domain.com 과 other-domain.com 은 다르다.
- 포트번호 - 8080 포트와 3000 포트는 다르다.
CORS 가 필요한 이유
이것이 없이 모든 곳에서 데이터 요청이 가능해지면, 다른 사이트에서 원래 사이트의 흉내가 가능해진다.
예로 기존 사이트와 완전히 동일하게 동작하게 해서 사용자가 로그인을 하도록 만들고,
로그인 했던 세션을 탈취해서 악의적으로 정보를 추출하거나 다른 사람의 정보를 입력하는 등 공격이 가능해진다.
그래서 필요한 경우에만 서버와 협의하여 요청할 수 있도록 하기 위함이다.
참고한 블로그 링크
CORS란 무엇인가? – Yunseok's Dev Blog
hannut91.github.io