인증 인가의 수단으로써 주로 사용되는 ==쿠키, 세션, 토큰==
▶ 인증 : (입증, 증명) -> 서비스를 이용하려는 유저가 ==등록된 회원==인지 확인하는절차
▶ 인가 : (허가, 권한) -> ==특정 리소스에 접근할 수 있는 권한==이 있는지 확인하는 절차(ex. 카페이용권한, 마이페이지이용권한이 있는지 확인하는 절차)
유저가 마이페이지에서 서버에 API요청으로 개인정보를 받아오는 요청을 할 때, 서버는 클라이언트에게 인증을 줄까 인가를 줄까 => 인가
✅ http프로토콜 통신의 2가지 특징
무상태
서버는 클라이언트 상태를 기억하지 않음. 각 요청마다 요구정보를 서버에서 요구하는 모든 상태 정보를 담아서 요청. ==chatGPT를 생각하자==
비연결성
서버와 클라이언트는 연결되어 있지 않다. ->서버는 매번 새로운 요청을 받는다 ==chatGPT를 생각하자==
이 두가지 특성덕에
스케일확장(SCALE-OUT)이 편하다
비연결성으로 최소한의 서버자원으로 서버유지 가능
사용자 요청이 잦은 서비스는 비연결성이 비효율적일 수 있다
개발자 도구의 network에서 쿠키 정보를 담아준다(서버가 준 것)
브라우저가 애플리케이션 안에서 쿠기의 값을 저장.
이런 방식으로 쿠키를 받고 그 값을 저장하고 또 다시 서버에 요청을 할 때마다 브라우저의 저장되어 있는 쿠키를 자동으로 보내진다.(단, 동일한 origin 이나 CORS를 허용하는 origin에만 쿠키를 보낸다.)
=>유튜브 서버에서 받은 쿠키는 유튜브 이용 시에만 주고 받을 수 있다.
▶ origin이란?
▶ CORS : cross origin Resource Sharing : 다른 출처에 리소스 요청하는 것을 허용하는 정책. 브라우저는 보안상의 이유로 기본적으로 SOP(same origin policy)를 원칙으로 하지만, 서버와 클라이언트 각각 CORS설정을 통해 상호합의된 웹사이트는 예외적으로 서로 다늘 출처(cross origin)임에도 API요청이 가능