[HTTP] Cookie : Set-Cookie Header

    반응형

    * 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다.

    * 지속적으로 내용을 수정 및 추가해 나갈 예정입니다.


    #Cookie

    쿠키(cookie)는 HTTP의 일종으로 사용자가 웹페이지를 방문할 경우 방문자를 식별하기 위하여 사이트가 사용하고 있는 서버를 이용해 사용자의 컴퓨터에 설치되는 작은 정보 기록 파일이다.

    로그인 기능을 예시로 들어보자. 웹사이트에 한 번 로그인하면 새로고침(새로운 요청)을 하여도 로그아웃이 되지 않는다.

    이는 클라이언트가 서버에게 접속자가 누구인지 지속적으로 알려주고 있기 때문이다. 이 때 사용되는 것이 쿠키이다.

    서버는 요청에 들어있는 쿠키를 읽어들어 사용자가 누구인지 파악한다.

     

    특징

    1. 쿠키는 클라이언트에 저장되며 단순한 'Key-Value'의 쌍이다.

    2. 쿠키는 만료시간을 설정 가능하며, 만료시간 전 까지는 브라우저가 종료 되더라도 삭제되지 않는다.

    3. 쿠키는 Server에서 생성하며 Set-Cookie HTTP Response Header에 넣어 클라이언트에 전송한다. 

     

    #Set-Cookie Header

    Set-Cookie Header로 쿠키를 설정 시 각종 옵션을 넣을 수 있으며, 옵션 사이세미콜론(;)을 사용해 구분한다.

     

    Set-Cookie - key=value; Expires=만료날짜; Domain=도메인명; Path=URL; Secure; HttpOnly 

    key=value : 쿠키명과 쿠키값의 쌍으로 이루어진 문자열 쿠키값이다. 

    Expires=만료날짜 : 쿠키의 만료 기간이다.

    domain=도메인명 : 쿠키가 전송될 도메인을 특정한다. default 값은 현재 도메인이다.

    path=URL : 쿠키가 전송될 URL을 특정할 수 있다. defualt값은 '/'이다.

    Secure : HTTPS일 경우에만 쿠키가 전송된다.

    HttpOnly : JS에서 쿠키에 접근할 수 없도록 설정한다. 주로 로그인 구현 코드에서 자주 사용되며, XSS 공격을 방지해 준다.

    반응형

    댓글

    Designed by JB FACTORY