인증과 인가 인증(authentication)은 사용자가 누구인지 확인하는 절차이다. 회원가입과 로그인 과정이 인증의 대표적인 예시이다. 인가(authorization)은 사용자가 요청하는 것에 대한 권한이 있는지를 확인하는 절차이다. 세션을 통한 인증, 인가(auth)의 절차는 다음과 같다. 클라이언트가 로그인을 하면 서버는 회원정보를 대조하여 인증을 한다.(authentication) 회원 정보(클라이언트 정보)를 세션저장소에 생성하고 session ID를 발급한다. http response header 쿠키에 발급한 session ID를 담아서 보낸다. 클라이언트에서는 session ID를 쿠키 저장소에 저장하고 이후에 http request를 보낼 때마다 쿠키에 session ID를 맏아서 보낸다..
쿠키와 세션 쿠키 클라리언트(브라우저) 로컬에 key-value 쌍을 저장되는 데이터 팡리이다. 유효시간 내에서는 브라우저가 종료되어도 계속 유지된다. 세션 브라우저가 종료되거나, 서버에서 해당 세션을 삭제할 수 있기 때문에 쿠키보다 보안성이 좋다. 또한 서버에 데이터를 저장하므로 서버 용량이 허용하는 한에서 제한 없이 데이터를 저장할 수 있다는 장점이 있지만 서버의 부하가 커진다는 단점이 될 수 있다. 쿠키와 세션을 사용하는 이유: HTTP의 connectionless, stateless 클라리언트가 요청을 했을 때 그 요청에 맞는 응답을 보낸 후 연결을 끊고, 서버는 클라이언트에 대한 상태 정보를 유지하지 않기 때문에 알 수 없게 된다. 쿠키(cookie) 쿠키의 생성과 저장은 구현에 따라 다르지만 ..