아카이브

세션 & 쿠키 본문

네트워크

세션 & 쿠키

주멘이 2018. 6. 20. 14:13

세션(Session) 

1. 특성

- 일정 시간동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술

- 일정 시간 = 브라우저를 통해 웹 서버에 접속 ~ 브라우저 종료

- "방문자가 웹서버에 접속해있는 상태" = 한 단위의 세션

- HTTP 프로토콜은 비접속형 프로토콜 - > 세션이 연결 유지를 가능하게 함

- 클라이언트가 웹서버에 request하면, 서버가 클라이언트에 유일한 session_id를 부여

- 서버에 저장되기떄문에, 서버의 부하와 별도의 공간이 필요함

2. 원리

- session_id를 서버가 클라이언트에 발급

- session_id를 쿠키를 사용해서 저장 (JSESSIONID)

- 클라이언트가 재접속시, JSESSIONID를 이용해서 session_id를 서버에 전달



쿠키(Cookie)

1. 특성

- 특정 웹 사이트를 방문했을때 만들어지는 정보를 담는 파일

- 상태정보를 유지하는 기술

- 이름, 값, 만료 날짜, 경로 정보 등 

- 방문자의 하드 디스크에 저장하였다가 필요시 참조

2. 원리

- 클라이언트가 브라우저로 페이지 접속

- 클라이언트가 요청 페이지를 받으면서 쿠키를 하드에 저장

- 재 방문시 페이지 요청과 함께 쿠키값을 전송

- ex) ID와 PW를 저장하시겠습니까?, "오늘 이 창을 보지 않음", 쇼핑몰 장바구니 등 

3. 제약 조건

- 클라이언트에 총 300개의 쿠키 허용

- 하나의 도메인 당 20개의 값만 보유

- 쿠키는 4MB가 최대


세션vs쿠키

- 세션 : 방문자의 정보를 웹서버에 저장웹 서버가 session_id 파일을 만들어 서버에 저장 

            웹 서버가 session_id 파일을 만들어 서버에 저장

-쿠키 : 방문자의 정보를 방문자의 컴퓨터에 저장

            id&pw나 방문사이트 등





세션과 쿠키가 왜 사용되는가?

HTTP 프로토콜의 단점을 커버하기 위해 

HTTP 프로토콜 ?

- 특성

1) Connectionless : client가 request하고, server가 response하면 서로 접속을 끊는다

2) Stateless : 접속을 끊는 순간 통신이 중단되고 상태 정보는 유지되지 않는다


☞ 세션&쿠키를 사용하지 않으면 ? 통신을 할때마다 인증이 필요

- 로그인이 필요한 서비스에 접근할때마다 전부 로그인을 해야함


참고링크

참고링크

           

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

웹의 동작 원리  (0) 2018.06.20
OSI 7계층  (0) 2018.06.18
LAN vs WAN  (0) 2018.06.13
REST  (0) 2018.06.13
HTTP vs HTTPS  (0) 2018.06.13