HTTP 프로토콜HTTP 프로토콜은 클라이언트-서버 모델로써, 클라이언트가 요청을 보내면 서버가 응답을 내리는 구조이다. HTTP의 특징으로는 stateless(무상태)와 connectionless(비연결성)이다. Stateless(무상태)서버는 클라이언트의 이전 요청에 대해서 기억하지 않는다. 즉, 서버는 응답을 내려준 클라이언트의 요청에 대해서 기억하지 않는다는 것이다.ex) 사용자가 로그인 페이지에서 로그인을 했더라도 다른 페이지로 이동하면 로그인이 유지되지 않는다.상태를 유지하기 위해서는 쿠키(Cookie), 세션(Session), 토큰(Token) 등을 사용하여 클라이언트와 서버 간의 상태를 기억할 수 있다.Connectionless(비연결성)HTTP는 TCP(Transmission Contr..
1. 쿠키(Cookie)와 세션(Session) 개념이 등장한 이유HTTP 프로토콜은 비상태성(stateless)를 가지고 있다. 이게 무슨 말이냐면, 동일한 클라이언트가 서버로 요청을 보냈을 때, 서버는 이전의 요청들을 기억하지 않는다는 것이다. 예를 들면, 메인 페이지와 로그인 페이지가 존재할 때, 로그인을 완료하고 메인 페이지로 이동하였을 때, 서버는 로그인을 했는지 알 수 없다는 것이다.사용자가 로그인을 했는지 여부를 알 수 없으므로 모든 요청마다 로그인을 해야할 것이다. 따라서 사용자의 상태를 유지하기 위해서 쿠키(Cookie)와 세션(Session)이 도입되었다. 2. 쿠키(Cookie)2-1. 쿠키(Cookie)란?쿠키란 클라이언트의 브라우저에 사용자의 상태 정보를 저장하는 데이터 파일이다...
1. 인증(Authentication)과 인가(Authorization)인증(Authentication)은 사용자가 서비스에 등록되어 있는지 검증하기 위해 사용된다. 예를 들어, 사용자가 입력한 정보가 서비스에 등록되어 있다면 인증된 사용자라고 할 수 있다.인가(Authorization) 는 인증이 완료된 사용자가 서버에서 보호하고 있는 자원에 접근할 수 있는지 권한을 확인하는 과정이다. 먼저 인증이 되어야만, 인가 여부를 확인할 수 있다. 예를 들어, 게시판에 글을 작성하는 것은 로그인 된(인증된) 사용자(USER, ADMIN)라면 누구나 할 수 있지만, 관리자 페이지에 접근하는 것은 관리자 권한(ADMIN)이 있는 사람만 가능할 것이다. 인증(Authentication), 인가(Authorizatio..