39일차 django 강의 2,3주차 모르는부분 복습, 아침 퀴즈 3번째
오늘은 2주차, 3주차 강의에 대한 내용을 한번 복습해보고 처음부터 다시 실습을 해보는 걸 해보았다. 아직... 모르는부분이
너무 많고 손에 익어야 하기 때문에 힘들더래도 처음부터 다시해보는 선택을 해보았는데 시간이 생각보다 많이 걸리는것 같다... 현재 2주차 끝무렵 하고있다.
모르는 내용을 찾아보고 정리를 해보았다.
(밑에는 내가 공부를 했던 자료이다)
쿠키와 세션 개념
노션 페이지(아래 내용과 동일) 개요 쿠키와 세션은 개발자 말고도 인터넷 사용자라면 누구나 많이 들어본 단어입니다. 하지만 개념에 대해서는 많은 사람들이 헷갈려 하기에 쉽고
interconnection.tistory.com
1. 쿠키 세션이란 무엇이며 왜 필요한가?
우리가 만약에 로그인이나 쇼핑물을 하고 있을 때 인터넷이 만약에 끊긴다면 어떻게 될까?
기본적으로 Http 프로토콜에 관련된 내용을 찾아보니 기본적으로 connetionless, starteless라는 특성을 가진다고 한다.
connectionless : 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊어버리는 특징
stateless : 통신이 끝나면 상태를 유지하지 않는 특징 (연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며 유지가 되지 않는 상태)
한마디로 특성상 로그인을 다시해야하며 그리고 그뿐만 아니라 페이지를 넘길때마다 다시 요청을 받아서 보내야하기 때문에 페이지이동할 때마다 계속 로그인을 해야한다.
그 보안점을 풀기 위해서 쿠키와 세션이 필요한다고 한다 .
2. 쿠키와 세션에 단점을 해결할 토큰
요즘에는 모바일시대인데 어느사이트에 가서 로그인을 할때 새로 회원가입을 하는 방식이 아닌 기존에 있던 계정을 연동을 시켜서 로그인을 하는 경우가 많다. 웹브라우저를 핸드폰으로 킬 수도 있는 시대가 되었는데 그럴때 한계정의 세션값을 어떻게 모바일에서 관리를 할수 있나에 대한 문제점이 있었습니다.(여기서 토큰 방식이 필요하다고 한다!)
방법은 로그인을 할때 백엔드에서 세션을 돌려 쿠키를 만들어서 저장을 하는것이 아닌 민증과 같은 사용자의 정보가 담겨져 있는 민증과 같이 토큰을 내보내준다. (로컬스토리지 안에 저장이 된다)
장점 : 민증과 비슷하게 인증효과가 있어서 이 사용자의 정보가 진짜인지 아닌지에 대한 확인을 거치는 과정이 필요하지 않아도 된다는점이 편하다. (쿠키와 세션보다는 확실히 빠르다고 한다)
3. 그렇다면 쿠키와 로컬 스토리지는 무슨차이가 있나
오늘 강의는 chrome에서 나온 검사페이지에 들어가서 쿠키와 로컬스토리지에 특징에 대한 차이를 다루어보았는데 정리를 해보자면 로컬스토리지는 키와 밸류만 있고 쿠키는 키, 밸류, 사용자 만료일 등 여러가지 항목이 들어가 있다.
그리고 무엇보다 HTML5가 등장을 하면서 로컬스토리지를 다른 데이터 저장 옵션으로 도입을 했는데 저장용량이 쿠키보다 더 크다고 한다.
아직 쿠키와 세션 그리고 로켈 스토리지 그리고 토큰 아직 개념이 정리가 되진 않았지만 실습을 통해서 계속 이해할려고 하고있는 상황이다. 내일은 실습 마무리하면서 정리를 하면서 개념정리도 해야할 것 같다.
아침퀴즈 : 3주차 내용을 기반으로 아침퀴즈를 풀어보았다.