딱콩이의 봄

쿠키와 세션 본문

개발/네트워크

쿠키와 세션

코린이딱콩 2022. 8. 17. 20:34

세션(Session)

클라이언트가 아닌 서버에 저장하는 쿠키입니다. 주로 유출되어선 안될 중요한 데이터가 저장됩니다. 

유효기간 설정이 가능하지만 기본적으로 브라우저를 종료할 때까지 유지됩니다. 쿠키보다 느리지만 보안성이 높습니다.

 

세션 통신 방법

1.클라이언트가 서버에 접속 시, 세션 ID를 발급합니다.

2. 서버에서는 클라이언트로 발급해준 세션 ID를 쿠키를 이용해서 저장합니다.

3. 클라이언트는 다시 페이지에 접속할 때 쿠키에 저장된 세션 ID를 서버에 전달합니다.

4. 서버는 Request Header에 쿠키 정보(세션 ID)로 클라이언트를 판별합니다.

 

쿠키(Cookie)

웹사이트 접속 시 사용자의 브라우저에 저장되는 작은 텍스트 파일입니다. 서버와 통신 시 HTTP 헤더에 포함됩니다.

이름, 값 만료기간, 경로정보가 있고 키와 값으로 구성되어 있습니다.

쿠키는 오랜 시간 동안 유지될 수 있고, 자바스크립트를 이용해 쿠키에 접근할 수 있기때문에 쿠키에 민감한 정보를 담는 것은 위험합니다.

저장기간은 미지정 시 웹브라우저 종료와 함께 삭제되며 세션보다 빠릅니다. 하드에서 꺼내 읽을 수 있기 때문에 보안성이 낮습니다.

 

쿠키를 이용하는 예

로그인 유지,팝업창 보지 않기

 

쿠키 통신 방법

1. 최초 통신에서는 쿠키값이 없으므로, 일단 클라이언트는  Request를 합니다.

2. 서버에서 클라이언트가 보낸 Request Header에 쿠키가 없음을 판별합니다

  통신상태(유저아이디, 비밀번호, 방문 횟수 등)를 저장한 쿠키를 Response 합니다.

3. 클라이언트의 브라우저가 받은 쿠키를 생성/보존합니다.

4. 두 번째 연결부터는 HTTP Header에 쿠키를 실어서 서버에 Request 합니다.

 

'개발 > 네트워크' 카테고리의 다른 글

IP(Internet Protocol)  (0) 2022.09.14
네트워크 계층  (0) 2022.09.14
텍스트 파일 vs 바이너리 파일  (0) 2022.08.31
GET, POST  (0) 2022.08.31
HTTP의 특징  (0) 2022.08.17
Comments