쿠키, 세션, 캐시가 뭔가요?
Вставка
- Опубліковано 8 лют 2025
- #쿠키 #세션 #캐시
일반인들도 한 번쯤 들어보았을 법한 용어들.
뭔가를 사용한 뒤 저장해놓는다는 의미로 어렴풋이 알고는 있는데
이 셋은 어떻게 다르고 무엇에 사용될까요?
한 찜질방을 사용하는 과정에 비유해서
쿠키🍪와 세션, 캐시를 쉽게 설명해보겠습니다.
= = =
🏠 얄코사이트: www.yalco.kr
🛒 개발자스티커 구매: smartstore.nav...
🎥 가장 쉬운 Git 튜토리얼: • [고정댓글필독] 가장 쉬운 Git 강좌 ...
🎥 포인터 쉽게 알아보기: • 포인터가 뭐고 왜 쓰는건가요?
🎥 객체지향에 대해 알아보기: • [구버전, 고정댓글 필독!!] 객체지향 ...
🎥 객체지향 디자인 패턴: • 객체지향 디자인패턴 1
🎥 함수형 프로그래밍이란?: • 함수형 프로그래밍이 뭔가요?
🎥 쿠키 vs 세션 vs 캐시: • 쿠키, 세션, 캐시가 뭔가요?
🎥 프로세스와 스레드: • 프로세스는 뭐고 스레드는 뭔가요?
🎥 비동기 프로그래밍: • [코딩만화] 비동기 프로그래밍이 뭔가요?
🎥 REST API 알아보기: • [구버전 - 고정댓글 필독] REST A...
🎥 GraphQL 알아보기: • [고정댓글 필독] GraphQL이 뭔가요?
= = =
🎬 영상 주요 포인트
🍪 쿠키
쿠키는 사이트를 방문하고 이용할 때
브라우저에 저장되는 내용들이에요.
브라우저는 내 컴퓨터에 있는거니까
내가 갖고 있는 정보인거죠.
그런데 이 '쿠키북'에는 한계가 있어요.
내가 임의로 고치거나 지울 수 있고
심지어 남이 훔쳐보거나 도둑질하기도 쉬워요.
나로서는 민감하거나 중요한 정보를
쿠키북에 적어서 다니기는 불안하겠죠.
🎟 세션
세션을 사용하는 사이트에 접속하면
서버에서는 사용자를 구분하기 위한
기한이 짧은 임시 키 하나를
브라우저에 보내서 쿠키로 저장해요.
'얄코'란 사용자가 사이트 안의 페이지들을 돌아다닐 때
이 사용자의 중요한 정보들은
이 서버의 메모리나 데이터베이스에 저장되죠.
브라우저가 이 사이트의 페이지들에 접속할 때마다
http 요청에 이 키를 실어서 전송하고
서버는 그 키를 보고 '얘는 얄코구나' 인식해서
얄코의 정보들을 가공해서 응답 보내주는거에요.
...
그리고 사용자나 다른 누군가에게 노출되어서는 안 되는,
서비스 제공자가 직접 관리해야 할 정보들은
세션으로 서버 안에서 다뤄지는거죠.
📦 캐시
캐시란 개념은 웹 뿐만 아니라
컴퓨터의 메모리 부분이나 안드로이드 등
다양한 곳에서 쓰이는데
거의 공통적인 의미로, 가져오는데 비용이 드는 데이터를
한 번 가져온 뒤에는 임시로 저장해두는거에요.
웹 캐시는, 이미지 등의 정보를 불러올 때
데이터 사용량도 발생하고 시간도 들기 때문에
사용자가 여러 번 방문할 법한 사이트에서는
한 번 받아온 데이터를 사용자의 컴퓨터
또는 중간 역할을 하는 서버에 저장해두는거에요.
= = =
🎵 엔딩송 : 권민호, 김한영 - Let's Dance
🎼 자료출처 : gongu.copyrigh...
🎼 Music promoted by DayDreamSound : • Video
아래 링크에서 추가정보를 확인하세요!!
www.yalco.kr/15_cookie_session_cache/
해당 영상과 같은 영상 아닌가요??
네 영상이 아니라 아래의 텍스트로 된 요약이나 영상별 추가 정보들을 안내하는겁니다. 그냥 영상마다 다는 안내에요 🙂
이....이... 변수명 짓기 고인물....ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 울랄라 세션ㅋㅋㅋㅋ
진심으로 소름돋는다. 설명을 이렇게도 깔쌈하게 하다니..
적절한 비유 덕분에 내용도 쏙쏙 들어와서 기억하기도 훨씬 쉽다. 특히 비전공자인 사람들에겐 더욱.
기술면접 때 말만 좀 그럴싸하게 바꿔서 얘기하면 되겠네.
구독 박고 갑니다 형
오케이 캐시백에서 빵 터졌어욬ㅋㅋㅋㅋ
얄팍한 코딩사전 흥해랏~~!!
감사합니다!!!
설명하는데 센스가 많으시네요 ^^
진심 천재이신듯...쉬운 설명 감사드립니다.
하루하루 얄팍하게 보는데 에너지 있는 알짜 강의 감사합니다
감사합니다!!
오케이 캐시백은 생각지도 못했네요 ㅋㅋ 좋은 연상방법인것 같습니다 잘 보고가요!
감사합니다!
예시가 아트의 경지십니다... 개인적으로 설명잘하는 방법 중 하나가 예시라 생각하는데 완벽한 예시입니다. 덕분에 완벽히 이해했습니다. 정말 감사합니다!
감사합니다!!
사랑해요 얄코형님~ 항상 설명 너무 잘 해주셔서 인프런 깃 강의도 듣고 도움 정말 많이 되었습니다.
오랜만에 헷갈리는 개념 검색하다가 또 도움 받았네요! 쿠키북, 울랄라세션, 오케이캐시백!
ㅋㅋㅋㅋㅋ설명이 너무 재미있네요. 예시를 들어주셔서 이해하기가 편합니다
감사합니다!! ㅠㅜ
울랄라 세션 오케이 캐쉬백 ㅋㅋㅋㅋㅋㅋㅋㅋ 왜이렇게 웃겨요 덕분에 기억에 잘남을것같아요
ㅎㅎ 감사합니다!!
오케이 캐쉬백에서 빵 터졌어요 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 진짜 설명 최고입니다!!!!
이번편도 너무 재미있어요!
네이밍센스 짱이에요!
개념을 쉽게 설명하는게 정말 어려운건데 정말 잘보고 갑니다. 감사해요!
ㅠㅜ 감사합니다~!!!
3:12 의 내용과 같이 하루 안보기 등에 쿠키가 사용되는줄 몰랐네요.
캐시가 쓰이는 실제 예시가 없다는 점이 약간 아쉬워요.
설명은 끝내주십니다. 짱짱
헐 대박.. 알코님 영상 처음보는데 이해가 너무 쏙쏙 잘돼요!!
좋은 영상 감사합니다!
구독박고 갑니다!!ㅋㅋㅋ
감사합니다!!
비유에 무릎을 탁치고 좋아요 구독합니다
의도된 명명이라면 최소 뇌과학이나 학습전문가이실 듯 ㄷㄷㄷ
이정도면 변수명 짓는데 걱정 안하시겠네요 ㄷㄷㄷ
그냥 아재개그 좋아하는 개발자에요 ㅠㅜ 감사합니다!!!
중간에 듣다가 뭔가 했네요 ㅋㅋ 울랄라세션 오케이캐시백 ㅋㅋㅋ 덕분에 아주 잘 이해했습니다..!! 감사합니다
영상 진심으로 감사합니다. 매번 헷갈리고 머릿속에 잘 들어오지 않던 내용인데 이렇게 쉽게 재밌게 기억할 수 있게 해주시다니 대단하세요.
감사합니다!!!
맞아요 저도 그랬어요
여태 봤던 설명중에 가장 이해하기 쉽네요
당신은 천재입니다.
설명할 때 예시 드는 걸 굉장히 선호하고 좋아하는데, 얄코님 보면서 제 예시가 한없이 부족했음을 느낍니다. 예시가 귀에 쫙쫙 달라 붙네요.
감사합니다!!
혹시나 울랄라 세션으로 세계관 확장할려고 울랄라스파 하셨나 했는데 역시나였군요 ㅎㅎㅎ
ok 캐시백은 상상도 못했네요 ヲヲヲヲヲヲヲヲヲヲヲヲヲ ㅋ
눈치9단이시네
울랄라세션ㅋㅋㅋㅋㅋ
개인적으로 좋아하는 그룹이라 더 재미있었네요
오늘도 즐코!!
저도요 ㅎㅎ 감사합니다!!!
OKCashBack 울랄라세션 세상에나 ㅋㅋㅋㅋ 천재시군요..
1:50 아무렇지 않게 들려왔던 '울랄라세션'이란 그룹의 이름이 갑자기 어색해지는 순간
설명잘하신다 ㄷㄷ
잘 보고 갑니다 선생님!
와~ 세개의 개념에 대해 이렇게 쉽게 설명하신 분은 처음입니다!
감사합니다!
함께 정리해봐요!!
틀린 부분이 있으면 날카로운 지적 부탁드릴게요 선생님들!!
1. 쿠키
- 쿠키는 클라이언트 측에 저장된 키와 함께 들어있는 작은 파일입니다.
- 클라이언트의 상태정보를 로컬에 저장합니다.
- 그래서, 장바구니 기능, '오늘 더이상 창을 보지않음 창 팝업' 등에 사용됩니다.
1) 클라이언트가 페이지를 요청하면
2) 서버에서 쿠키를 생성해, http 헤더에 쿠키를 포함시켜 응답합니다
3) 클라이언트는 이 쿠키를 로컬 pc에서 갖고 있다가, 다시 서버에 요청할 때 HTTP 헤더에 이 쿠키를 함께 전송합니다.
4) 서버에서는 이 쿠키를 읽어 이전 상태정보를 변경할 필요가 있으면 쿠키를 업데이트해 HTTP 헤더에 변경된 쿠키를 넣어 반환합니다.
2. 세션
- 세션은 사용자 정보를 서버측에서 관리합니다.
- 즉, 보안성이 좋아 로그인같은 보안중요작업에 사용됩니다.
- 서버는 클라이언트 구분을 위해 세션 ID라는 것을 부여합니다. 웹 브라우저가 서버에 접속하고, 브라우저를 종료할 때 까지 인증상태를 유지합니다.
1) 클라이언트가 페이지를 요청하면
2) 서버는 접근한 클라이언트의 request-header필드의 쿠키를 확인해 클라이언트가 세션id를 보냈는지 확인합니다.
3) 만약 세션id가 존재하지 않으면 서버는 세션id를 생성해 클라이언트에 함께 돌려줍니다.
이 때, 서버측에서는 세션 저장소에 해당 id를 저장해, 차후 구분할 수 있도록 합니다.
4) 클라이언트는 세션id를 받으면, 이걸 쿠키를 사용해 저장하고 가지고 있습니다.
5) 클라이언트는 이제 같은 요청으로 서버에 접속할 때, HTTP요청에 이 세션ID를 같이 서버에 전달해 요청합니다.
6) 서버는 세션 ID를 전달 받고, 세션저장소에서 해당 세션 ID값을 찾아 클라이언트 정보를 가져와서 클라이언트를 구분합니다. 그리고 요구에 맞는 서비스를 제공합니다.
3. 차이
- 데이터 저장위치는 쿠키는 브라우저, 세션은 서버입니다.
- 보안성은 쿠키가 저장위치가 클라이언트라는 점에서 스니핑을 당할 우려가 있기 때문에 세션측이 좀 더 좋습니다.
- LifeCycle은 쿠키는 브라우저가 종료되어도 쿠키에 저장된 만료일(저장기간) 값이 남아있으면 존재하고, 세션은 브라우저 종료 시, 만료기한에 상관없이 종료됩니다.
- 속도측은 세션이 서버에 정보가 있기 때문에, 쿠키측이 더 빠릅니다. 하지만, 사용자가 많아질수록 서버 메모리를 많이 차지합니다.
4. 추가!) 브라우저 저장소(웹 스토리지)
- 서버전송 없이 클라이언트에 데이터를 저장할 수 있도록 HTML5부터 추가된 저장소로, 오직 문자형 데이터 타입만 지원합니다.
- 쿠키는 서버가 클라이언트에게 전송하는 데이터 파일로, [이름/값/만료일자] 등 데이터를 포함합니다. 모든 브라우저에서 지원되나, 매번 서버에 전송되고, 저장용량이 작으며, 보안에 취약합니다.
- 웹 스토리지는 쿠키의 단점을 보완하려 등장한 개념입니다.
- 웹 스토리지는 클라이언트에서 저장만 할 뿐, 서버로 전송하지 않기 때문에 전송에 따른 위험이 없습니다.
- 웹 스토리지는 지속성에 따라 두 가지로 나뉘는데, 로컬 스토리지(Local Storage)는사용자가 데이터를 지우지 않는 이상, 브라우저나 OS를 종료해도 계속 브라우저에 남아있습니다. 즉, 영구적 저장 특성을 가집니다.
- 하지만, 세션 스토리지는 데이터가 브라우저 탭에 종속되기 때문에, 윈도우나 브라우저 탭을 닫을 경우 제거됩니다.
5. 캐시
- 리소스 파일들의 임시저장소
- 같은 웹페이지에 접속할 때, 이전에 사용되었던 데이터는 다시 사용될 가능성이 높다라는 생각을 기초로 해서 다시 사용될 확률이 있는 데이터들을 빠르게 접근 가능한 저장소에 저장하는 것이에요!
- 보통 이러한 리소스의 대상은 이미지, 비디오 오디오, CSS/JS 등이에요 이런건 데이터 사용량도 좀 들고, 시간도 걸리니까 매번 서버에서 불러오면 시간이 너무 오래 걸리는 걸 대상으로 해요. 또, 변경사항이 크지 않아요!
요약댓글이 있으면 좋은데
쿠키&세션 : 사이트를 이용할 때 필요한 정보를 저장하는 것
쿠키 : 덜 중요한 정보 => 이용자의 PC에 저장
vs
세션 : 중요한 정보 => 서버의 PC에 저장
--------
캐시 : 다시 가져오는 데 비용이 드는 데이터를 임시로 저장하는 것
(용량 다 찼을 때 캐시삭제하면 용량 생김)
그 모든 것이 울랄라세션을 위한 빌드업
꿀잼 ㅋㅋ 머리에 콕콕박히네요 고맙습니다!
감사합니다!!
말씀 재미나게 잘하시네요^^
감사합니다!
울랄라세션 오케이 캐시 백 .... 충격적 작명이다.... 진짜 천재인듯 ....
아 설명이 너무 명쾌합니다 ㅜㅜㅜ 감사합니다
감사합니다!
와 정말 유용하네요 좋은 비디오 감사합니다
감사합니다!
어머..이건 무조껀 구독해야돼...
아.. 댓글 먼저보고 오케이캐시백이 왜 갑툭튀 인가했는데... 아 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 짱인것같에여..
ㅎㅎ 감사합니다!!
감사합니다❤
정보들이 얄팍하지 않아요 ㅋㅋ
아 진짜 사이드프로젝트 만들어보고
이론 정리하기 너무 좋네요
정말 감사합니다!
감사합니다!
와 헷갈렸는데 이거 보고 한방에 이해됐어요 감사합니다 bbb
감사합니다!!
설명 여전히 재밌네요 ㅠㅠ 오늘도 잘 이해하고 갑니다!!
와 진짜 … 너무나 감탄
오케이 캐시백에서 빵터졌어요ㅋㅋㅋ
재밌게 봐주셔서 감사해요~
웃음 버튼 (순한맛) : 울라라 세션
웃음 핵 버튼 : OK 캐시백 ㅋ
와 대박👍👍이해 쏙쏙🤭
얄코가 생각안나서 울랄라세션 쿠키북이라고 치니까 6번째인가 영상 나오네요!
좋은 설명 감사합니다!
와 ㅎㅎ 설명에 따른 예시가 한번에 기억할 수 있도록하다니....센스가 넘치시네요 ㅎㅎ
감사합니다!
와 이해 쏙쏙 입니다 ㅎㅎㅎ
감사합니다!
좋네요. 감사합니다~
미쳐따👍🏼👍🏼👍🏼😍
쿠키: 사이트에 방문할 때마다 내 컴퓨터에 있는 브라우저에 저장되는 정보(사용자가 저장해두어도 사업 서비스에 별다른 영향이 없는 정보들)
세션: 서버측에서 가지고 있는 나의 정보, 내 브라우저에 https로 키를 하나 보낸다(서비스 제공자가 다뤄야할 지워지면 안되는 중요한 정보들)
캐시: 캐시 개념은 가져오는데, 비용이 드는 데이터를 한번만 가져오고 그 다음에 편리하게 계속 꺼내쓰기 위한 것임.
이해가 너무 잘되니까 제가 똑똑해진 기분마저 들어요.. 감사히 잘익히고갑니다!
좋은 영상 감사합니다~.
로그인 기능을 배우고 있었는데, 세션과 쿠키가 이해가 가지않아서 검색중에 영상을 보게됐습니다.
비유가 정말 GIT 똥 차네요! 항상 감사합니다.
감사합니다!!
정말 쉽고 재미있게 이해할 수 있었습니다, 감사합니다!!!
감사합니다!!
오 정말 기억하기쉽게 설명해주시기위해
네이밍하시는데 하셨을
고민이 보이네요!
감사합니다~!
ㅠㅜ 감사합니다~~
그러니까 기업 측에서 임시로 중요 데이터들을 보관하는 곳은 세션이고, 기업측에서 임시로 리소스들을 보관하는 곳은 캐시군요!
울랄라는 눈치챘는데 오케이캐시백은 눈치못챘다...
와 디자이너인데 이해하기 넘 쉬웠어요 감사합니다!!
늘 궁금한 주제들 검색하면 상위 노출되어서 잘 보고있습니다
정말 감사합니다 😊
감사합니다!!
OK 캐시백ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ넘웃겨용ㅋㅋㅋㅋ
캐시 예제 정말 죽여 주네요. 멋져요~~
감사합니다!!
영상 정말 재미나고 이해잘되요. 공부중이인데 정말정말 도움많이됩니다!!! 콘솔, OSI구조 요런아이들도 궁금해요ㅜ 영상늘기다리고있습니다!^^
감사합니다! 그 내용들도 준비해보도록 할게요~~
비유의 화신이시네..
구웃ㅆㅆ 좋은 정보 감사합니다~~^^
지금봐도 신선합니다 히히히
재밌네요 ㅋㅋㅋ
좋은 정보를 간단하게 알려주셔서 감사합니다. 궁금한게 있습니다. 구글크롬기준 인터넷페이지에서 민감한 정보를 적었다가 새로고침하면
또는 개발자모드(f12)에 나타나지 않는 정보들은 어디에도 저장되지도 않는가요??
지난번 재규어 등장할 때 무릎을 쳤는데 울랄라 세션에 오케이 캐시백이라니.... 내 무릎...!
ㅎㅎ 감사합니다!
와 진짜 대박이다...
최고!!
와 .. 비유 ... 울랄라세션, 오케이캐쉬백...;
로그인페이지 만들고 있는데 많이 도움되었습니다. 감사합니다. 다른 유튜버들보다 설명 너무 잘 이해되네요!
감사합니다!!!
설명을 너무 잘하시는 것 같아요... 쿠키, 세션, 캐시 잘 이해하고 갑니다!
오 마이갓 오케이캐시백ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 엄청나십니다 짱잼이에요 감사합니다
울랄라 세션에 오케이 캐쉬백이라니... 노렸네 노렸어 그쵸?
노렸어요 ㅠ
설명 훌륭하다
가려운곳을 살살 긁어주시네요. 유학생으로 컴공 하고있는데 공부할때마다 항상 궁금했던것들 그리고 한국말로도 설명하기어려운 개념들을 설명해주셔서 너무도움이 됬습니다.
감사합니다!
쿠키파일 털리는거 예방 방법 알려주세요
OOP 영상부터 시작해서 정주행중인데 쏙쏙 이해 잘되게 넘 설명 잘해주시네요 !!! 감사합니다 (하트)
감사합니다!
울랄라세션을 염두에 둔 울랄라 스파.
기막힌 설계에 감탄하고 갑니다.
알고있는 계념 이지만 진짜 알기 쉽게 예시 해주신다고 또 한번 느껴요
감사합니다!!!!
우와 쩐다
선생님 덕분에 컴퓨터를 알아갑니다 친절한 설명 정말 감사합니다 ^^
감사합니다!
정말 엄청 신경써서 만들어주시는 강의 감사합니다! 엄청난 비유에 감탄하고 갑니다ㅎㅎㅎ기억에 안 남을 수가 없어요! 비 ~동기입니다
볼 때마다 느끼지만 정말 대단하시다..ㅋㅋㅋㅋ 비전공자도 쉽게 이해하겠네요 진짜
감사합니다!!
ㅋㅋㅋ 왜 울랄라인가했더니 ㅋㅋ 울랄라세션 비드업 보소
이해하기 쉬워서 너무 좋습니다
감사합니다!!
세션은 안전한가요? 비밀번호같은거 저장 해둬도 될까요?
후에 다루겠지만 안전한 서비스는 사용자의 비밀번호를 저장해두지 않아요. DB에 있는 정보도 암호화되어 있어서 사용자가 입력한 비번이 맞는지만 확인 가능할 뿐 운영자도 그 비번이 뭔지 알 수가 없죠.(이 말이 헷갈리실텐데, hash란 개념을 암호 관련 키워드와 함께 찾아보시면 아실 수 있을거에요. 이것도 나중에 다룰게요!)
세션은 서버 내의 정보이니만큼 사용자의 컴에 있는 쿠키보다는 비교적 안전하다고 할 수 있죠. 하지만 완벽하게 안전한 건 없으니 모든 부분과 과정에 신중을 가해야 해요 ㅠㅜ
@@yalco-coding 답글 감사합니다. 다음 동영상 기대하겠습니다.
몇년전에 허니커즈 스티커 사서 맥북에 붙이고 다녔는데 얄코님이 그 분이셨다니...! 항상 좋은 영상 잘 보고 있습니다😀
오오, 감사합니다!!
훨씬 더 흥했으면 좋겠어요!!
즐겁게 잘 봤습니다^^
시간되시면 스토리지에 대해서도 다뤄주시면 감사하겠습니다!
현재 사이드 프로젝트로 로그인 , 회원가입 페이지를 만든다음 분석하고 있는데
이러한 개념들과 예시들이 큰 도움이 되었습니다. 잘 듣고 가겠습니다.
첫댓글이네요~ 예전에 크롬 메모리 먹는 스티커 만들어달라고 부탁드렸던 개발자인데 영상도 잘 챙겨보고 있어요.
너무 설명 잘해주셔서 감사해요!
혹시 다음에 '프론트엔드 개발자와 백엔드 개발자의 담당범위' 에 대해서도 한번 영상화 해서 다뤄 주실 수 도 있을까요?
요즘 프론트 엔드 개발자와 백엔드 개발자의 각 담당 스펙트럼이 조금씩은 넓어지고 있다고 생각해서요.
강의 내용은 아니지만 서브 주제도 다룰 생각있으시다면 나중에 부탁드려요!
스티커는 할인하니 꼭 또 사도록 하겟습니다!
오오 그분이셨군요!! 덕분에 많이 구매되는 스티커의 아이디어를 얻었어요.
다다음 쯤 영상을 프론트엔드 프레임워크로 준비하고 있어요. 거기서 백엔드를 어디까지 다룰지 등이 아직 기획중인데 그 영상 혹은 이후 영상에서 프론트 개발과 백 개발을 비교하는 내용을 다룰 예정입니다.
항상 좋은 제안 주셔서 감사해요~!!
@@yalco-coding 네~ 항상 좋은 컨텐츠 감사합니다!
와 설명이 정말.. 역대급이네요 캐시백에서 감탄나왔습니다ㅋㅋㅋㅋㅋ
감사합니다!!
마지막에 cashe 아니고 cache... :) 오타 있습니다. 아무튼 기억하는데 도움이됬습니다. ㅋㅋㅋ
맞아요 ㅠ 감사합니다!!
오케이 캐시백ㅋㅋㅋㅋㅋㅋ
이야 설명지린다
감사합니다!!
캐시 데이터 지워도 되나요?