[TIL] 2020/09/25

yongkini ·2020년 9월 25일
0

Today I Learned

목록 보기
37/172

Today, I Will Learn


Today, I Learned


  • CORS 관련 공부사이트 : 코드카데미, MDN
  • CORS(Cross Origin Resource Sharing) : GET 요청으로 자료를 받아오거나 할 때, 하나의 호스트, 그리고 동일한 프로토콜, 포트 번호로 받아오는 케이스는 요즘 시대에 거의 없다. 대부분 한 사이트 내에서도 다양한 서버와 공유하며 위의 실행들이 이루어진다. 하지만, 이러한 방식으로는 다양한 리스크가 생긴다. 평생 한 핏줄의 사람들과 한 건물 속에 살아가던 사람들이 진보적으로 다른 건물의 사람들과 교류를 시작했을 때, 긍정적인 측면에는 반드시 낯선 외부의 것들이 삶에 들어온다는 단점이 생긴다. 이처럼 위의 경우도 해킹 로직을 GET response로 보내준다던지의 문제가 생길 수 있다. 이를 방지하기 위해 Security Policy가 있었지만, too restrictive했고(호스트, 프로토콜, 포트번호가 다르면 쉐어링 불가), 이에 따라 나온 것이 'CORS'이다. CORS는 쉽게 생각해서 통관원 같은 개념이다. Client는 header에 OPTIONS를 통해 현재 사용하려는 HTTP method(주로 GET, POST 등은 okay지만, DELETE, PUT 등 자원을 수정하는 것은 reject)를 header에 담아 보낸다(Preflight-request). 그러면 서버는 이를 검수한 뒤에 OKAY 사인을 해주면, 그 때에서야 클라이언트는 본래하려던 Original request를 보내게 된다. Preflight-request과정을 거친후에 본래 하려던 요청이 이루어지지만, 보안과 안전 문제를 위해서 + 너무 제한적이지 않게 하기 위해서 이루어진 것이라고 할 수 있다.

Planning to Study


  • What is RESTful API?
  • Chatter Box 자동 갱신 하도록 만들기
  • web socket이용해서 채팅 만들어보기

Comment


profile
완벽함 보다는 최선의 결과를 위해 끊임없이 노력하는 개발자

0개의 댓글