- Cookie
- 웹 브라우저에 저장되는 데이터
- 서버가 클라이언트의 상태를 기억하도록 도와준다.
- 로그인 상태 유지 등에 활용된다.
- 보안에 취약하다.
- 민감한 정보를 저장하지 않아야한다.
- 사용자 임의 수정이 가능하다.
- Session
- 서버에서 중요한 정보를 보관하며 로그인을 유지하는 방법
- SessionId를 탈취하여도 민감한 정보가 없다.
- 만료 시간을 설정해서 탈취 문제를 최소화한다.
- HttpSession은 최근 Session을 요청한 시간을 기준으로 만료 시간을 유지한다.
- 서버에서 중요한 정보를 보관하며 로그인을 유지하는 방법
- Token
- 인증/인가 과정에서 사용되며 사용자 또는 시스템의 신원과 권한을 증명하고 요청의 유효성을 검증하는 데 사용되는 디지털 문자열
- Session과는 다르게 Client가 데이터(Token)를 저장하고 있다.
- Stateless를 기반으로 하여 확장성이 뛰어나다.
- Mobile과 같이 Cookie를 사용할 수 없는 경우에도 사용할 수 있다.
- Payload는 암호화되지 않는다.
- 만료 시간으로 Token 탈취를 대비한다.
- JWT
- 인증에 필요한 정보들을 암호화시킨 JSON 형태의 Token
- Signature를 통해 Token을 안전하게 관리한다.
- JWT의 목적은 정보 보호가 아닌, 위조 방지에 있다.
- Filter
- 공통 관심 사항을 하나의 입구에서 처리할 수 있게 만들어준다.
'CS ( Computer Science ) > 네트워크 (Networking)' 카테고리의 다른 글
[Net] MVC 패턴 (0) | 2024.12.13 |
---|---|
[Net] API 설계 (0) | 2024.12.12 |
[Net] 네트워크 기본 요약 (1) | 2024.12.06 |
[Net] Rendering (1) | 2024.12.05 |
[Net] Servlet (1) | 2024.12.04 |