Q. 쿠키와 세션에 대해서 설명해줄 수 있나요?
먼저 쿠키는 일정시간 임시 데이터를 클라이언트인 브라우저에 저장하기 위하여 사용됩니다.
쿠키는 인터넷 쇼핑몰에서 로그인을 하지 않았는데 장바구니 담기가 가능하게 하는데 활용되며, 광고 팝업에 나오는 다시보지않기를 누르면 다음에는 팝업이 나오지 않는 것에도 활용됩니다. 물론 서버 작업을 통해 구현해도 되지만 굳이 저장할 필요가 없다면 서버의 리소스는 아끼는 것이 좋습니다. 또, 매번 서버에서 데이터를 불러오기보단 간단한 값들은 쿠키를 활용하여 저장하면 비용을 아낄 수 있습니다. 쿠키는 도메인별로 저장할 수 있으며 개발자모드(F12)를 활용하면 어떠한 키/밸류를 가지고 있는지 확인이 가능합니다.
확인이 가능한 데이터이기에 쿠키는 보안에 취약할 수 밖에 없습니다.
다음 세션은 클라이언트와 웹서버간 네트워크 연결이 지속 유지되어있는지를 알기 위하여 사용됩니다.
세션은 서버에 저장된 값을 클라이언트에게 전달하는 방식이기때문에 보안성이 쿠키에 비해서 좋습니다.
단, 서버에서 불러오는만큼 쿠키보다는 속도가 느립니다.
쿠키와 세션을 함께 활용하면 보안성이 높은 로그인 기능을 구현할 수 있습니다.
쿠키로 세션ID 값을 유지하고 세션ID를 사용하여 서버에서 해당 정보를 가져와 활용할 수 있습니다.
만약 세션이 없다면 아이디, 비밀번호를 쳐서 로그인했더라도 내부 동작함에 있어 매번 사용자 인증을 해야합니다. 예로 시간이 많이 지난 사이트에서 로그인 화면을 다시 요구할 때가 있습니다. 이는 세션이 만료되어 다시 사용자 인증할 필요가 생겼기 때문입니다.
★KEYWORD★
COOKIE - 클라이언트 저장, 키/밸류, 장바구니
SESSION - 서버 저장, 로그인기능
'Googling > cs' 카테고리의 다른 글
[DB] 트랜잭션 격리수준과 부정합 이슈 (feat. Dirty Read ~ Phantom Read) (0) | 2022.04.23 |
---|---|
[CS] 동기(synchronous)와 비동기(Asynchronous)를 쉽게 이해해보기 (feat. 싱크로나이즈드 수영과 핫도그) (0) | 2022.03.18 |
[하드웨어] 보조기억장치 인터페이스 이해 (feat. HDD, SSD, NVMe, PCIe, M.2, SATA) (1) | 2021.06.04 |
[DATA] 데이터양 단위 이해 (feat. B, MB, GB, TB + LTE 속도?) (0) | 2021.06.04 |
[HTTP] RESTful API 이해 (feat. 신입개발자 자격요건) (0) | 2021.05.18 |