본문 바로가기

Java/기술 스터디

Cookie & Session

목차

    쿠키와 세션

    (이번 피피티 참 잘만들었답니다)

     

    쿠키와 세션에 대한 설명을 해드리기 전,

    간단하게 서버와 클라이언트에 대한 설명을 드리겠습니다.

     

    서버

    서버란 네트워크를 통해 서비스를 제공하는 컴퓨터 시스템을 말합니다.
    A 컴퓨터에 정보를 올리면 다른 컴퓨터들이 접속해서 그 정보를 확인할 수 있습니다.
    이때 A 컴퓨터가 서버 컴퓨터가 됩니다.


    즉, 정보를 제공하는 역할을 하는 제공자가 된다면 서버 컴퓨터로 불릴 수 있습니다.

    클라이언트

     

     

    쿠키

    쿠키란?

    자, 이제 쿠키란 무엇일까요?
    쿠키 차단, 쿠키 삭제라는 말을 많이 들어보셨을 겁니다.
    쿠키는 저희의 로컬 컴퓨터, 즉 클라이언트에 저장되는 기록 정보 파일을 말합니다.

     

    쿠키의 구성

    쿠키는 이름, 값, 만료일, 경로 정보로 구성되어 있습니다.

    쿠키의 크기

    클라이언트에는 총 300개의 쿠키를 저장할 수 있고, 하나의 쿠키는 4KB(=4096byte)까지 저장이 가능합니다.

    쿠키 생성

    클라이언트가 웹사이트에 접근하면

    웹 서버는 쿠키를 생성합니다.

    생성한 쿠키에 정보를 담아 화면을 돌려줄 때 같이 돌려줍니다.


    받은 쿠키는 클라이언트가 가지고 있다가 다시 서버에 요청할 때 요청과 함께 쿠키를 전송합니다.

    쿠키의 예

    오늘 하루 이 창 보지 않기와 같은 기능을 구현할 때

    주로 사용합니다.

    세션

    세션 사용

    로그인 시 아이디 비밀번호를 저장할 때 사용을 합니다.

    세션이란?

    세션은 방문자가 웹 서버에 접속해 있는 상태를 말합니다.

    접속한 시점부터 웹 브라우저를 종료할 때까지 상태를 유지 시키는 기술입니다.



    브라우저를 닫거나, 서버에서 세션을 삭제할 때만 삭제가 되기 때문에 비교적 쿠키보다 보안이 좋은 편입니다.
    제한이 있는 쿠키와는 달리, 서버 용량에 따라 저장 데이터에 제한이 없습니다.

    정리

    마무리로,
    세션은 정보가 서버에 있기 때문에 요청 처리가 쿠키와 비교하면 느린 편입니다.


    세션만 사용한다면 서버 자원에 한계가 오거나 속도가 느려질 수 있기 때문에,

    전부 세션을 사용하기보다, 기능에 따라 적절하게 사용하는 것이 좋습니다.


    참고 자료

    https://dev-coco.tistory.com/61

     

    'Java > 기술 스터디' 카테고리의 다른 글

    DTO & VO  (0) 2023.09.18
    ENUM  (0) 2023.09.17
    HTTP & HTTPS  (0) 2023.08.14
    Garbage Collection  (0) 2023.08.12
    MVC (Model View Controller)  (0) 2023.08.12