백엔드 도전기 23일차

홍성준·2022년 12월 2일
0

오늘 배운 내용

오늘 알고리즘 클래스에선 두문제를 풀었는데, 피보나치 수열과 예산문제를 풀었다. 기존에 내가 알던 피보나치 수열문제에선 재귀함수를 통해 답을 구하는 방식이었는데, 이렇게 해서 답을 제출하면 시간이 너무 오래걸려 통과를 할 수 없었다. 그래서 문제를 자세히 보면 수학에서 배운 점화식처럼 풀라고 하는데, 이는 동적계획법을 이용해서 풀라는 것이었다. 그래서 다시 풀어보니 다행히 통과를 하였다.

백엔드 수업때 배운 내용중 구글 소셜로그인을 하는 실습을 진행했는데, 생각보다 너무 간단했다. 그 다음날이 나만의 소셜로그인 만들기 프로젝트가 인데, 미리해보자는 생각으로 다 해봤는데, 너무 잘됐다. 카카오가 좀 오류가 있었지만, 성공했다는 것에 의의를 둔다.

CORS

전에 브라우저와 api를 통신하는 과정에서 브라우저에서 백엔드로 요청을 보내면 CORS와 관련된 오류가 뜨면서 콘솔창에 에러메세지가 출력이 되었다. 이는 CORS 정책에 위반되기 때문에 오류메세지가 출력이 되었던 것이었다.

CORS는 Cross-Origin Resource Sharing의 줄임말로 직역을 하면 교차 출처 자원 공유인데, 교차 출처는 다른 출처를 의미한다. 그래서 다른 도메인에서 오는 요청은 위반사항이므로 오류가 생긴다.

CORS의 동작원리는 Simple request와 Preflight request가 있다. Simple request은 서버에게 바로 요청을 보내는 방법이다. 요청을 받은 서버는 Access-Control-Allow-Origin 헤더를 포함한 응답을 브라우저에 보낸다. Preflight request는 서버에 예비 요청을 보내 안전한지 판단 후 요청을 보내는 방식이다,

해결방법은 HTTP 응답 헤더을 사용하눈 방법과 요청 헤더를 사용하는 방법이 있고 이외에도 JSONP와 프록시 서버를 이용해 우회하는 방법도 있다.

profile
안녕하세요

0개의 댓글