Web

쿠키 세션 그리고 캐시

JUNGKEUNG 2021. 5. 31. 05:20

쿠키란?


쿠키는 사이트를 방문할때마다 나의 브라우저에저장되는 내용들 입니다. 그걸 삭제할수도 있고 다시 그 사이트로 방문할수가 있습니다. 쿠키는 나만의 브라우저에 저장 되기 때문에 내가 임의로 고치거나 지울 수 있고 또 해킹당하기가 쉽습니다.

 

 

 

세션이란?


위에 쿠키처럼 임의로 고치거나 지우고 또 해킹을 방지하기 위해서 세션이 있다.  

서버에서 사용자를 구분하기 위한 기한이 짧은 임시 키하나를 발급해줍니다. 그것을 쿠키에 저장시키고 유저가 사이트안의 페이지를 돌아다닐 때 마다 유저의 중요한 정보들은 서버의 메모리나 데이터베이스에 저장됩니다.  

브라우저가 이 사이트의 페이지들에 접속할 때마다 http 요청에 임시 카하나를 실어서 전송하고 서버는 그 키를 확인하여 유저의 정보를 가공하여 응답해줍니다. 

예를 들어 우리가 네이x, 다x,페이스x, 등 사이트를 접속할때마다 로그인이 되어있고 또 로그인 한 상태로 다른걸 하고 와도 그대로 로그인이 유지 되어있는것도 쿠키와 세션의 조합으로 유지되고 있기 때문입니다.

 

세션 동작원리

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

   클라이언트트 세션 ID에 대해 쿠키를 사용해서 저장하고 가지고 있습니다.

2. 클라이언트는 서버에 요청할 때, 이 쿠키의 세션 ID를 서버에 전달해서 사용합니다.

3. 서버는 세션 ID를 전달 받아서 별 다른 작업없이 세션 ID로 세션에 있는 클라리언트 정보를 가져옵니다.

4. 클라이언트 정보를 가지고 서버 요청을 처리하여 클라이언트에게 응답합니다.

 

 

 

캐시란?


캐시란 웹, 컴퓨터 메모리, 안드로이드 등 공통적으로 가져오는데 비용이 드는 데이터를 한 번 가져온 뒤에는 임시로 저장하는 장소를 말합니다. 캐시는 이미지 등의 정보를 불러올 때 데이터 사용량이 발생하고 시간도 들기 때문에 유저가 

여러 번 방문할 법한 사이트에서는 유저의 컴퓨터나 또는 중간 역할을 하는 서버에 저장해줍니다. 

 

 

 

정리


쿠키는 쉽게 말해 우리가 아이디를 자동 완성 시키거나 공지 메시지를 하루 안보기 하거나 쇼핑몰에 들어가 로그인 안한 상태로 장바구니에 담는것도 쿠키의 일환이다. 이렇게 유저가 사용하기 편하긴 하되 지워지거나 조작되거나 해킹당하더라도 큰 일이 없을 그런 수준의 정보만 저장되는 장소가 쿠키이다

그리고 쿠키에서 노출되면 안되는것들은 서비스 제공자가 직접 관리해야 할 정보들은 세션으로 서버 안에서 관리하게 됩니다. 개발자들은 코드를 장성할때 이 정보는 쿠키에 저장할 지 세션에 저장할지 제대로 정해야 합니다.

 

서버에 노출되면 안되는것을 쿠키로 하면 안될것이고 그렇다고 세션으로 전부 하면 접속자가 많을 때 서버에 부하가 걸리니 잘 나누어서 정하는것이 가장 좋습니다.

 

쿠키와 세션은 같은 저장소에 저장되지만 캐시는 다른 저장소에 저장 되기때문에 쿠키와 세션은 같지만 캐시는 다른것을 알수 있었습니다. 좀더 자세하게 확인 하고 싶으면 브라우저에 f12 -> Application에 들어가면 확인 할수 있습니다.

'Web' 카테고리의 다른 글

OAuth란?  (0) 2021.06.18
URI, URL, URN 이란?  (0) 2021.06.18
OSI 7계층  (0) 2021.05.30
REST, RESTful, REST API  (0) 2021.05.29
URL 입력 시 웹 페이지까지 노출되는 동작 원리  (0) 2021.05.28