ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 쿠키(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
Designed by Tistory.