어쩌다보니 첫 글로 쿠키, 세션, 캐시를 쓰게 됐네요.
네이버 블로그를 꾸준히 쓰다가 기술 블로그를 velog나 gitbug.io로 옮기고 싶었는데 드디어 첫 글을 적게 됐네요. :)
틀린 부분 있으면 꼭 지적해주시고 많이 부족해도 너그러이 봐주시길 바랍니다 !
stateless
상태 정보를 유지하지 않습니다
connectionless
클라이언트가 서버에 요청을 했을 때 그에 맞는 응답을 보낸 후 연결을 끊습니다.
그러나 실제로는 데이터 유지가 필요한 경우가 많습니다. 특히 로그인이 유지되어야 할 때!
상태 정보의 저장 위치에 따라 쿠키, 세션으로 나뉩니다.
사용자의 브라우저에 저장되고 통신할 때 HTTP 통신 시 헤더에 포함되는 텍스트 데이터 파일입니다.
Key-Value
로 구성되어 있으며 이름, 값, 만료기간, 경로 정보가 있습니다.
자동 로그인 유지, 장바구니, 팝업 보지 않기 등
서버에 저장되는 쿠키라고 생각하면 됩니다.
브라우저가 종료할 때 까지 유지되며 중요한 데이터를 저장할 때 사용합니다.
사용자 브라우저가 아닌 서버에 저장되는 것이기 때문에 보안성이 쿠키보다 상대적으로 높습니다.
세션 ID의 보안 취약점
세션 해킹 : 홈페이지 관리자의 세션 아이디를 탈취, 쿠키값을 관리자의 세션 아이디로 변경하여 관리자 권한으로 이용
예방법 : 세션에 로그인 했을 때의 IP를 저장하여 페이지 이동 시 마다 현재 IP와 세션 IP, 브라우저 정보 (UserAgent)가 같은지 검사 진행
로그인 정보 유지
브라우저를 사용하는 환경 (로컬)에 서버에서 받은 데이터를 저장하는 파일 (쿠키와 비슷)
쿠키와 비슷하지만 이미지나 css,js등 재사용되거나 용량이 큰 리소스를 임시 저장해두어 렌더링 속도를 돞이는 것이 목적이라 목적성이 다릅니다.
정리 감사합니다