-
쿠키(Cookie)와 세션(Session)얇게 공부한 CS 2024. 2. 23. 14:46
웹 개발을 하다 보면, 사용자의 정보를 유지하고 관리해야 하는 경우가 있습니다.
이때 기본적으로 사용되는 기술이 쿠키(Cookie)와 세션(Session)입니다.
| 쿠키(Cookie)
쿠키는 HTTP의 일종으로 사용자가 웹 사이트를 방문할 때, 사용자의 컴퓨터에 저장되는 작은 기록 파일입니다.
이 파일에 사용자가 사이트를 어떻게 이용했는지에 대한 정보가 담겨 있어서
사용자가 다시 사이트를 방문했을 때 이를 참고하여 개인화된 서비를 제공할 수 있습니다.주요 특징
1. Key-Value쌍으로 구성되어 있습니다. 2. 도매인 당 20개의 쿠키를 가질 수 있습니다. 3. 하나의 쿠키는 4KB(4096byte)까지 저장 가능합니다. 4. 쿠키 이름, 값, 만료시간, 경로 정보 등으로 구성되어 있습니다. 5. 클라이언트 측에 저장되고, 사용자의 컴퓨터에 파일 형태로 저장됩니다.
사용
사이트 선호 설정 등 사용자의 편의를 위한 정보 저장에 사용될 수 있고,
Session을 통해 session id를 쿠키에 저장하여, 사용자가 서버에 요청 보낼 때
해당 id를 통해 사용자를 식별하는 데 사용될 수도 있습니다.| 세션(Session)
웹 개발에서 세션은 같은 사용자(클라이언트)의 연속된 요구사항이나 행동들을 하나의 상태로 보고,
그 상태를 유지시키는 방법입니다.특징
1. 서버에서 사용자별로 고유한 세션 ID를 관리합니다. 2. 세션 ID는 사용자의 민감한 정보를 직접 포함하지 않습니다. 3. 세션을 통해 사용자의 로그인 상태와 같은 정보를 유지할 수 있습니다. 4. 서버 용량 허용 범위 내에서 저장 데이터에 제한이 없습니다. 5. 고유한 세션 ID를 통해 각자 요구에 맞는 서비스를 제공할 수 있습니다.
동작
- 사용자가 서버에 요청을 보냅니다.
- 서버는 사용자에게 고유한 세션 id를 전달합니다.
- 서버가 생성한 세션 id는 웹 브라우저의 쿠키 형태로 저장됩니다.
- 사용자가 이후에 서버에 요청할 시 쿠키의 세션 id를 같이 서버에 전달합니다.
- 서버는 해당 세션 id를 확인하여 요청을 처리하고 응답합니다.
장점
- 중요한 사용자 정보를 서버 측에서만 관리하고, 민감한 데이터를 클라이언트에 직접 전송하지 않아 보안성이 높습니다.
단점
- 세션 ID가 탈취당할 경우, 공격자가 사용자로 위장할 위험이 있습니다.
- 서버 자원에는 한계가 있기 때문에 많은 사용자가 접속할 경우 서버의 메모리 부담이 증가할 수 있습니다.
'얇게 공부한 CS' 카테고리의 다른 글
REST API (0) 2024.02.25 명령어의 구조 (0) 2024.02.24 웹 브라우저의 동작 (0) 2024.02.21 [네트워크] OSI 7 계층 (0) 2024.02.02 [OS] Process와 Thread (0) 2023.08.29