Session-Based Auth vs. Basic Authentication
Session-Based Auth vs. Basic Authentication 기본 인증(Basic Authentication) 기본 인증은 HTTP 프로토콜에 내장된 가장 단순한 인증 방식 중 하나이다. 1996년 RFC 2068에서 처음 소개되었으며, 현재는 RFC 7617에서 정의되고 있다. 작동 방식 클라이언트가 서버에 리소스를 요청한다. 인증이 필요한 리소스인 경우, 서버는 “401 Unauthorized” 응답과 함께 “WWW-Authenticate” 헤더를 전송한다. 클라이언트는 사용자 이름과 비밀번호를 콜론으로 결합한 후 Base64로 인코딩한다. 이 인코딩된 값을 “Authorization: Basic [인코딩된 값]” 형태로 헤더에 포함시켜 요청을 재전송한다. 서버는 이 헤더를 디코딩하여 사용자 이름과 비밀번호를 확인하고, 유효한 경우 리소스에 접근을 허용한다. 특징 구현이 매우 간단하다. 모든 HTTP 요청마다 인증 정보가 전송된다. Base64 인코딩은 암호화가 아니므로 HTTPS 없이는 보안에 취약하다. 사용자 세션 상태를 유지하지 않는다(Stateless) 로그아웃 메커니즘이 없다 세션 기반 인증(Session-Based Authentication) 세션 기반 인증은 서버 측에서 사용자의 상태를 유지하는 인증 방식이다. 1990년대 후반부터 웹 애플리케이션에서 널리 사용되기 시작했다. ...