1. 세션(Session)
세션은 서버에서 사용자 상태를 유지하기 위해 사용되는 저장소임.
사용자가 웹사이트에 접속하면 서버는 세션 ID를 생성하여 클라이언트에게 전달하고, 이후 요청에서 세션 ID를 통해 사용자를 식별함.
특징
• 세션 데이터는 서버에 저장됨.
• 클라이언트는 세션 ID만 보유하며, 일반적으로 쿠키에 저장됨.
• 보안이 중요할 때 사용됨.
장점
• 서버에서 데이터를 관리하므로 보안성이 높음.
• 클라이언트가 세션 데이터를 직접 보지 않음.
단점
• 서버 메모리를 사용하므로 많은 사용자가 접속하면 성능 저하 가능.
2. 쿠키(Cookie)
쿠키는 클라이언트(브라우저)에 데이터를 저장하기 위한 기술임.
작은 텍스트 파일 형태로 브라우저에 저장되며, 클라이언트와 서버 간에 정보를 교환하는 데 사용됨.
특징
• 데이터가 클라이언트에 저장됨.
• 서버가 클라이언트에 특정 데이터를 저장하도록 요청할 수 있음.
• HTTP 요청 시 브라우저가 쿠키를 자동으로 서버에 전송.
장점
• 클라이언트에서 데이터를 저장하므로 서버 부담이 적음.
• 세션과 연계하여 세션 ID를 관리하는 데 사용됨.
단점
• 데이터 크기 제한(대부분 브라우저는 4KB로 제한).
• 클라이언트에서 쉽게 읽히고 조작될 수 있으므로 민감한 데이터는 저장하지 않아야 함.
3. 캐시(Cache)
캐시는 자주 사용되는 데이터를 미리 저장하여 요청에 대한 응답 속도를 향상시키는 메커니즘임.
특징
• 클라이언트(브라우저) 또는 서버 쪽에 저장 가능.
• 정적 파일(CSS, JS, 이미지)과 같이 변하지 않는 데이터에 적합.
장점
• 성능 최적화: 데이터 요청을 줄이고 로딩 속도를 높임.
• 네트워크 사용량 감소.
단점
• 캐싱된 데이터가 오래된 경우, 최신 정보를 제공하지 않을 수 있음.
• 캐시 무효화를 관리하는 것이 필요함.
4. 토큰(Token)
토큰은 인증, 권한 부여, 정보 교환을 위해 사용되는 임의의 데이터 문자열임.
클라이언트가 서버에 접근할 때, 토큰을 요청 헤더에 포함하여 신원을 인증함.
종류
• JWT (JSON Web Token): 가장 널리 사용되는 토큰 형식.
• OAuth Access Token: OAuth 프로토콜에서 사용되는 인증 토큰.
특징
• 서버는 상태를 유지하지 않음(무상태).
• 토큰에는 정보가 포함되며, 이 정보를 서버가 신뢰함.
• 토큰은 클라이언트 쪽에 저장됨(브라우저 로컬 스토리지, 쿠키 등).
장점
• 확장성: 서버에서 세션을 관리할 필요가 없음.
• 다른 시스템 간 인증에도 활용 가능.
단점
• 민감한 데이터 유출 위험(적절한 저장소와 보안 필요).
• 토큰이 탈취되면 악용될 가능성 있음.
5. 패킷(Packet)
패킷은 네트워크를 통해 데이터를 전송할 때 작은 조각으로 나눈 데이터 단위임.
인터넷과 같은 네트워크는 데이터를 패킷 단위로 송수신함.
구조
1. 헤더(Header): 송수신 IP 주소, 패킷 번호 등 메타정보 포함.
2. 페이로드(Payload): 실제 데이터.
3. 트레일러(Trailer): 에러 검증 정보.
특징
• 네트워크 혼잡을 줄이고 효율적으로 데이터를 전달함.
• TCP/IP 프로토콜 스택에서 사용됨.
장점
• 데이터 손실 발생 시 해당 패킷만 재전송 가능.
• 데이터 흐름을 효율적으로 관리.
단점
• 데이터가 분할되므로 조립 시간이 필요함.
• 패킷 손실 시 성능 저하 가능.
구분 | 설명 | 사용 위치 |
세션 | 서버에서 사용자 상태를 관리 | 서버(메모리, 데이터베이스) |
쿠키 | 클라이언트에 데이터를 저장 | 브라우저 |
캐시 | 자주 사용하는 데이터를 미리 저장하여 성능 최적화 | 브라우저, 서버 |
토큰 | 인증과 권한 부여를 위해 사용되는 데이터 문자열 | 클라이언트, 서버 간 인증 |
패킷 | 네트워크를 통해 전송되는 데이터 단위 | 네트워크 |
출처 : ChatGPT
'CS' 카테고리의 다른 글
화이트보드 설계 (1) | 2025.01.30 |
---|---|
CORS (Cross-Origin Resource Sharing) (0) | 2025.01.29 |
JAR와 WAR (1) | 2025.01.26 |
상태성(Stateful)과 무상태성(Stateless) (0) | 2025.01.25 |
CSRF (0) | 2025.01.19 |