پرده برداری از اسرار کوکی ها: راهنمای سرگرم کننده و آموزنده

Summarize this content to 400 words in Persian Lang
چه خواهید آموخت؟✨
کوکی چیست؟
کوکی ها چگونه کار می کنند؟
برخی از اصطلاحات شبکه کوکی
برچسب های کوکی ها
به سرزمین عجایب کوکی ها خوش آمدید! نه، ما در مورد نوع خوشمزه ای که در شیر غوطه ور می کنید صحبت نمی کنیم – ما در حال غواصی در بخش های کوچک جادوی داده هستیم که تجربه آنلاین شما را روان و شخصی می کند. آیا تا به حال فکر کرده اید که چگونه وب سایت ها ترجیحات شما را به خاطر می آورند یا شما را به سیستم وارد می کنند؟ بیایید راز کوکی ها را باز کنیم!
کوکی چیست؟ 🧐
کوکی ها قطعات کوچک داده ای هستند که در هنگام مرور یک وب سایت توسط یک مرورگر وب در دستگاه شما ذخیره می شوند. شایان ذکر است که کوکی ها به طور خاص یک اصطلاح مرورگر هستند.
ویژگی های کلیدی کوکی ها
ذخیره سازی جفت کلید-مقدار 🗂️
به کوکی ها مانند یادداشت های چسبناک کوچکی فکر کنید که اطلاعات را به شکل جفت های کلید-مقدار ذخیره می کنند.
مثال: userID=12345.
در اندازه محدود 📏
حداکثر اندازه کوکی ها 4 کیلوبایت است که هم نام و هم مقدار را شامل می شود.
مسئولیت مرورگر 🌐
مرورگرها با رعایت تگ های خاص، کوکی ها را به صورت خودکار با هر درخواست ذخیره و ارسال می کنند.
گزینه های استفاده چندگانه 🎛️
مدیریت جلسه: هنگام پیمایش در صفحات، کوکی ها شما را به سیستم وارد می کنند.
شخصی سازی: کوکی ها تنظیمات و تنظیمات برگزیده شما را به خاطر می سپارند.
ردیابی: کوکی ها بر رفتار شما نظارت می کنند و داده ها را برای تجزیه و تحلیل و تبلیغات هدفمند جمع آوری می کنند.
مسابقه پاپ! 📝
یک مرورگر چند کوکی می تواند ذخیره کند؟
مرورگرها معمولاً محدودیت کلی دارند 3000 کوکی.
حداکثر کوکی در هر دامنه بین مرورگرها متفاوت است:
گوگل کروم، مایکروسافت اج و اپرا: حداکثر کوکی در هر دامنه 180 است.
موزیلا فایرفاکس و سافاری: حداکثر کوکی در هر دامنه ۱۵۰ عدد است.
چرا ما عاشق کوکی ها هستیم؟ ❤️
تصور کنید از فروشگاه اینترنتی مورد علاقه خود بازدید می کنید و هر بار که صفحه جدیدی را باز می کنید مجبور به ورود به سیستم شوید. آزار دهنده است، درست است؟ کوکی ها با نگه داشتن شما در سیستم، به خاطر سپردن سبد خرید و حتی پیشنهاد موارد بر اساس بازدیدهای قبلی، روز را نجات می دهند. آنها قهرمانان گمنام یک تجربه وب یکپارچه هستند.
کمی تاریخچه کوکی 📜
کوکیها از اکتبر 1994 وجود داشته و برای اولین بار در Netscape Navigator 0.9beta پیادهسازی شدند.
واقعیت جالب 💡
اصطلاح «کوکی» از «کوکیهای جادویی» گرفته شده است که بستههایی از دادههایی هستند که بدون تغییر ارسال و دریافت میشوند. این مفهوم خیلی قبل از اینکه مرورگرهای وب آن را رایج کنند وجود داشت! بررسی کنید استفاده اولیه برای پیدا کردن بیشتر
انواع کوکی 🍪
خوب، طرفداران کوکی! بیایید به انواع مختلف کوکی ها بپردازیم. این نکات داده های خوشمزه بر اساس طول عمر آنها و تعیین کننده آنها به اشکال مختلفی می آیند.
آن ها چقدر دوام می آورند؟ ⏳
کوکی های جلسه:
موقت: این کوکیها مانند برنامههای تلویزیونی مورد علاقهتان هستند که وقتی مرورگر را خاموش کنید ناپدید میشوند.
ذخیره سازی: در حافظه مرورگر (RAM) ذخیره می شوند.
به صورت پیش فرض: کوکیهای جلسه، خوب، برای جلسه هستند. پس از بسته شدن مرورگر، آنها ناپدید می شوند.
مثال: یک یادداشت چسبناک را تصور کنید که در طول یک جلسه استفاده میکنید و بعد از اتمام آن آن را دور میاندازید.
کوکی های ماندگار:
ماندگاری طولانی: این کوکیها برای یک دوره مشخص باقی میمانند، مانند یادآوری تقویمی که برای سال آینده تنظیم کردهاید.
ذخیره سازی: روی هارد کاربر ذخیره می شوند.
مثال: یادداشتی را که به یخچال خود می چسبانید فکر کنید تا یک سال بعد تعطیلات را به شما یادآوری کند.
چه کسی این کوکی ها را تنظیم می کند؟ 🧑🍳👨🍳
کوکی های شخص اول:
توسط وب سایتی که بازدید می کنید تنظیم شده است: این کوکیها مانند کارتهای وفاداری فروشگاه هستند – توسط فروشگاه (وبسایتی) که در حال حاضر از آن خرید میکنید، صادر میشوند.
مثال: وقتی وارد فروشگاه آنلاین مورد علاقه خود می شوید، این یک کوکی شخص اول است که تنظیمات برگزیده شما را به خاطر می آورد.
کوکی های شخص ثالث:
توسط دامنه های دیگر تنظیم شده است: این کوکیها مانند بروشورهایی هستند که از فروشگاههای دیگر از طریق پست دریافت میکنید—از مکانهای مختلف (دامنه) میآیند و اغلب برای تبلیغات استفاده میشوند.
مثال: هنگام مرور سایت خبری مورد علاقه خود، ممکن است به لطف کوکی های شخص ثالث، تبلیغاتی را مشاهده کنید که عادات خرید شما را به خاطر بسپارند.
اگر میخواهید اطلاعات بیشتری در مورد کوکیهای 3️⃣طرف شخص بدانید، این پیوند را بررسی کنید.
چیزهای بی اهمیت کوکی! 🍪
به نظر شما کدام نوع کوکی مسئول نگه داشتن شما در ورود به سیستم در هنگام پیمایش در صفحات مختلف یک وب سایت است؟ آیا این یک کوکی جلسه است یا یک کوکی ماندگار؟
……. فقط منتظر وبلاگ بعدی باشید🫣
کوکی ها چگونه کار می کنند؟ 🔧
آمادهاید بفهمید کوکیها چگونه در پشت صحنه کار میکنند؟ بیایید آن را مرحله به مرحله تجزیه کنیم. در پایان این، دقیقاً خواهید فهمید که چگونه این تکه های کوچک داده تجربه وب شما را روان تر و شخصی تر می کنند.
تنظیم یک کوکی 🏗️
تصور کنید برای خرید یک جفت کفش جدید از یک وب سایت بازدید می کنید و سرور باید بداند چه کسی این جفت کفش را می گیرد. این چیزی است که اتفاق می افتد:
سرور یک کوکی می فرستد: هنگامی که از سایت بازدید می کنید، سرور با یک پاسخ HTTP پاسخ می دهد که شامل a Set-Cookie سرتیتر.
Set-Cookie: user_id=abc123; expires=Wed, 09 Jun 2024 10:18:14 GMT; path=/; domain=.example.com
در Rails، ممکن است ببینید:
response.set_cookie(:cookie_name, tags_hash)
منقضی می شود، مسیر، دامنه-اوه، اینها چه هستند؟ نگران نباشید، ما پشت شما هستیم! به زودی اینها را توضیح خواهیم داد، پس با ما همراه باشید! 🚀
سرصفحه های کوکی: این هدر حاوی تمام اطلاعات مورد نیاز برای تنظیم کوکی در مرورگر شما است.
به آن فکر کنید مانند سروری که به مرورگر شما یادداشت کوچکی می دهد که می گوید: “این اطلاعات را برای بعد به خاطر بسپار!”
نگهداری یک کوکی 🗄️
پس از تنظیم کوکی، مرورگر کنترل میکند:
مرورگر کوکی را ذخیره می کند: مرورگر این کوکی را ایمن نگه می دارد و آن را در حافظه (برای کوکی های جلسه) یا در هارد دیسک (برای کوکی های دائمی) ذخیره می کند.
ارسال کوکی به عقب: در بازدید بعدی شما از همان سایت، مرورگر کوکی را با یک درخواست HTTP با استفاده از Cookie سرتیتر.
Cookie: user_id=abc123
استفاده از کوکی 🛠️
بالاخره لحظه درخشش کوکی هاست🌟:
نقش سرور: سرور مقادیر کوکی را برای انجام اقداماتی مانند احراز هویت کاربر، به خاطر سپردن تنظیمات برگزیده یا پیگیری جلسات می خواند.
مثال: وقتی به یک وبسایت برمیگردید، سرور شما را میبیند user_id کوکی می کند و می گوید: “اوه، این تو هستی! خوش آمدی!”
سرور چگونه کوکی را می خواند؟ همانطور که قبلا ذکر کردیم، این فقط یک است Cookie سرتیتر. سرور مستقیماً این هدر را می خواند، اما بیشتر اوقات، هر فریم ورک نوعی میان افزار برای مدیریت کوکی ها دارد که زندگی را آسان تر می کند. بنابراین، به جای تجزیه دستی Cookie هدر، شما یک راه منظم و مرتب برای دسترسی به مقادیر کوکی دریافت می کنید.
من آن را در Rails به صورت زیر پیدا خواهم کرد:
user_id = cookies[:user_id]
اکنون چرخه حیات یک کوکی را میدانید – از تنظیم شدن توسط سرور گرفته تا ذخیره و ارسال مجدد توسط مرورگر و در نهایت استفاده توسط سرور برای بهبود تجربه مرور شما. دفعه بعد که از یک جلسه وب شخصی سازی شده لذت می برید، جادوی پشت آن را خواهید دانست! 🪄✨
اصطلاحات شبکه 🌐
درک برخی از اصطلاحات کلیدی شبکه می تواند به شما کمک کند تا در اینترنت بهتر پیمایش کنید و نحوه عملکرد کوکی ها را درک کنید. بیایید این را سرگرم کننده و آسان کنیم!
دامنه
💡 مسابقه پاپ:
با توجه به URL: https://staging.example.com:443/login، موارد زیر را شناسایی کنید:
بندر
دامنه
زیر دامنه
طرح
دامنه قابل ثبت
دامنه سطح بالا
خوب، اول توضیح می دهیم و به زودی پاسخ ها ارائه می شود!
دامنه: URL بدون پورت، نقطه پایانی و طرح. این یک آدرس قابل خواندن برای انسان است که برای دسترسی به وب سایت ها استفاده می شود، مانند نام مستعار جالب یک آدرس IP.
مثال ها: staging.example.com، google.co.uk
زیر دامنه: بخشی از یک دامنه بزرگتر.
مثال: staging که در staging.example.com
TLD (دامنه سطح بالا): آخرین قسمت نام دامنه.
مثال: .com، .uk
دامنه قابل ثبت: دامنه پایه یا ریشه ای که از ثبت نام دامنه (به عنوان مثال، GoDaddy، Namecheap) خریداری می شود.
مثال: example.com
واقعیت جالب: آکسفورد (ox.ac.uk) و کمبریج (cam.ac.uk) دامنه های مختلف قابل ثبت هستند. پس فقط مربوط به نقطه ها نیست! 🌟
مرورگر چگونه می داند؟ 🤔
هنگامی که یک آدرس وب را در مرورگر خود تایپ می کنید، باید مشخص کند که درخواست شما را کجا ارسال کند. از کجا میدونه کجاست example.com در اینترنت زندگی می کند؟ بیایید آن را تجزیه کنیم!
ثبت نام دامنه: اینها مثل دفترچه تلفن اینترنت هستند. آنها پایگاه داده همه نام های دامنه ثبت شده در TLD (دامنه سطح بالا) را حفظ می کنند. هر بار که دامنه جدیدی را ثبت می کنید، به این فهرست غول پیکر اضافه می شود.
اینجوری تصور کن:
شما: “من می خواهم بازدید کنم example.com”
مرورگر: “باشه، اجازه بده دایرکتمو چک کنم.”
ثبت نام دامنه: “در اینجا آدرس IP برای example.com”
این رجیستری ها مطمئن می شوند که هر نام دامنه منحصر به فرد است و می تواند به درستی به یک آدرس IP ترجمه شود که رایانه ها از آن برای یافتن مکان یکدیگر در اینترنت استفاده می کنند. آنها را به عنوان واسطه هایی در نظر بگیرید که همه چیز را در پشت صحنه به خوبی پیش می برند!
چرا این برای کوکی ها مهم است؟
هنگامی که یک کوکی برای یک دامنه تنظیم می کنید، باید به دامنه صحیح پیوند داده شود تا وب سایت های مناسب بتوانند به آن دسترسی داشته باشند. مرورگر از سیستم نام دامنه استفاده می کند تا اطمینان حاصل کند که کوکی با دامنه مناسب مرتبط است.
به عنوان مثال، اگر یک کوکی برای example.com، مرورگر با ثبت نام دامنه بررسی می کند تا مطمئن شود که این دامنه به درستی شناسایی شده است و اینکه کوکی می تواند توسط example.com و زیر دامنه های آن مانند sub.example.com.
مثل یک نقشه به نظر میآید! منتظر جادوی دامنه کوکی باشید—این یک سفر شیرین کوکی خواهد بود! 🍪🚀
سایت
یک سایت ترکیبی از یک پروتکل (شما) و یک دامنه قابل ثبت است. این مانند مرکز اصلی آدرس وب شما است.
تمرین عملی:
URL 1
آدرس 2
همون سایت
دلیل
https://www.example.com/foo
https://foo.bar.example.com/bar
آره
همان پروتکل و دامنه قابل ثبت
https://www.cam.ac.uk/
https://www.cambridgestudents.cam.ac.uk/
آره
همان پروتکل و دامنه قابل ثبت
https://example.com/foo
http://example.com/bar
خیر
پروتکل های مختلف
https://www.ox.ac.uk/
https://www.cam.ac.uk/
خیر
دامنه های مختلف قابل ثبت
https://example.com/
https://example.net/
خیر
دامنه های مختلف قابل ثبت
اصل و نسب
از کجا آمده است؟
اجزای یک منبع:
طرح (پروتکل): http، https، ftp، و غیره.
میزبان (دامنه): example.com، subdomain.example.com
بندر: 80، 443، و غیره.
تمرین عملی:
URL 1
آدرس 2
همان مبدا
دلیل
https://foo.bar.example.com/bar
https://bar.example.com/bar
خیر
دامنه متفاوت
https://example.com/:443
https://example.com/services
آره
همان پروتکل، دامنه و پورت
SOP (خط مشی منشا یکسان)
SOP به صفحات وب اجازه می دهد تا بدون هیچ محدودیتی درخواست هایی را به همان مبدا ارسال کنند. آن را به عنوان منطقه بدون محدودیت برای صفحات وب خود در نظر بگیرید.
کراس سایت
برعکس همان سایت. مانند سفر به بخش دیگری از دنیای وب است.
مثال: https://word1.com در مقابل https://word2.com
Cross-Origin
برعکس مبدا. مثل ارسال یک کارت پستال از شهری به شهر دیگر است.
مثال: مثال: https://word1.com در مقابل https://word2.com
درخواست های متقاطع:
به طور پیش فرض، مرورگرها برای جلوگیری از خطرات امنیتی، درخواست های متقاطع را مسدود می کنند.
اگر یک اسکریپت در https://example.com سعی می کند یک درخواست AJAX به https://api.example.com، مرورگر این درخواست را مسدود می کند مگر اینکه سرور در https://api.example.com صراحتاً به آن اجازه می دهد تا از اشتراک گذاری منابع متقاطع (CORS) استفاده کند.
CORS (اشتراک گذاری منابع متقابل)
CORS مکانیزمی است که به سرورها اجازه می دهد تا مشخص کنند چه کسی می تواند به منابع آنها دسترسی داشته باشد و کدام روش ها و هدرهای HTTP مجاز هستند. این پیکربندی در سمت سرور انجام می شود.
دلیل اصلی: از منابع سرور خود محافظت کنید.
ارتباط با کوکی ها: برای ارسال کوکی ها با هر درخواست، سرور باید نشان دهد که اجازه ارسال اعتبارنامه ها را می دهد. این کار با استفاده از هدر انجام می شود Access-Control-Allow-Credentials: true.
برای اطلاعات بیشتر در مورد نحوه عملکرد CORS، این پیوند را بررسی کنید.
کوکی ها و اصطلاحات شبکه
Cross-Origin و Cookies: برای ارسال کوکی ها با درخواست های متقاطع، سرور باید آن را تنظیم کند Access-Control-Allow-Credentials: true سرتیتر.
پاسخ مسابقه پاپ 📝
برای URL https://staging.example.com:443/login:
بندر: 443
دامنه: example.com
زیر دامنه: staging
طرح: https
دامنه قابل ثبت: example.com
دامنه سطح بالا: .com
درک این اصطلاحات به درک نحوه عملکرد فناوری های وب و نحوه تعامل بخش های مختلف URL کمک می کند. چه در حال تنظیم کوکیها، مدیریت درخواستهای متقاطع باشید، یا فقط کنجکاو باشید که مرورگرتان چگونه با سرورها ارتباط برقرار میکند، این اصول ضروری هستند! 🌐
برچسب های کوکی ها 🍪🔖
دامنه
این را به عنوان لیست مهمانان VIP در نظر بگیرید. 🍾 یک کوکی با تگ دامنه فقط با دامنه مشخص شده ترکیب می شود. بنابراین، برای از بین بردن حزب AWS، نیازی به کوکی های فیس بوک نیست. 🎉
مثال: https://staging.example.com:443
مسیر
این تگ به کوکی می گوید که کدام قسمت از وب سایت را باید بازدید کند. آن را به عنوان نقشه ای تصور کنید که کوکی را به دایرکتوری درست هدایت می کند، مانند ارسال مستقیم آن به دایرکتوری admin_portal/v1/sessions/refresh_access_token برای یک ماموریت ویژه 🗺️
برچسب های امنیتی: ایمن نگه داشتن کوکی ها
HttpOnly
این تگ مانند یک سرویس مخفی برای کوکی شما است و اطمینان می دهد که هیچ جاوا اسکریپتی نمی تواند به آن نگاه کند. 🕵️♂️ به پیشگیری کمک می کند اسکریپت بین سایتی (XSS) حملات، که در آن اسکریپت های یواشکی سعی می کنند کدهای مخرب را به سایت شما تزریق کنند. 🚫🕵️
امن است
این تگ می گوید، “فقط در HTTPS، لطفا!” 🚀 تضمین می کند که کوکی ها فقط از طریق اتصالات امن و رمزگذاری شده ارسال می شوند. 🛡️
همان سایت
SameSite را به عنوان محدودیت سفر کوکی در نظر بگیرید. 🌍 نحوه عملکرد آن به این صورت است:
سخت گیرانه: کوکی یک خانه است — فقط در سایت خودش کار می کند. 🌐
سست: کمی انعطاف پذیرتر است اما همچنان محتاط است. فقط تحت شرایط خاصی به درخواست های بین سایتی می پیوندد:
روش درخواست باید ایمن باشد (مانند GET، نه POST). 🚦
درخواست باید یک ناوبری سطح بالا باشد، به این معنی که URL تغییر می کند (مانند کلیک کردن روی پیوند به یک سایت جدید). 🌐
هیچ یک: کوکی یک مسافر جهانی است که تمام درخواست های بین سایتی را مجاز می کند اما به اتصالات ایمن نیاز دارد (secure: true). ✈️🔒
بسته بندی آن 🎁
شما در دنیای شیرین کوکی ها سفر کرده اید و اکنون یک خبره کوکی هستید! در اینجا خلاصه ای سریع از آنچه آموخته ایم آورده شده است:
کوکی چیست؟
بستههای داده کوچکی که توسط مرورگر شما ذخیره میشوند تا تجربه وب شما را روانتر و شخصیتر کنند.
کوکی ها چگونه کار می کنند؟
آنها توسط سرور تنظیم می شوند، توسط مرورگر ذخیره می شوند و با درخواست هایی برای کمک به مواردی مانند ورود به سیستم و به خاطر سپردن تنظیمات ارسال می شوند.
برخی از اصطلاحات شبکه کوکی:
دامنه: پایگاه اصلی URL که کوکی ها در آن تعلق دارند.
مسیر: دایرکتوری خاصی که کوکی هدف قرار می دهد.
اصل و نسب: ترکیبی از پروتکل، دامنه و پورت برای تعیین اینکه درخواست ها از کجا می آیند.
خط مشی همان مبدأ: درخواست های متقاطع را برای امنیت کنترل می کند.
CORS: به سرورها اجازه می دهد تا مشخص کنند چه کسی و تحت چه شرایطی می تواند به منابع خود دسترسی داشته باشد.
برچسب های کوکی:
برچسب های پایه: دامنه و مسیر برای هدفگیری مؤثر کوکیها.
برچسب های امنیتی: HttpOnly، Secure و SameSite برای ایمن نگه داشتن و کنترل کوکی ها.
نکته پایانی 🌟
از اینکه در این سفر شیرینی لذت بخش همراه ما بودید متشکریم! 🎉🍪 چه مانند یک حرفه ای کوکی ها را تنظیم کنید یا صرفاً در مورد فناوری شیرین پشت صحنه کنجکاو باشید، این دانش را دارید که می توانید با اطمینان از کوکی های خود استفاده کنید.
تشکر فراوان برای خواندن، و ممکن است کوکی های شما امن باشند و ماجراهای وب شما همیشه خوشمزه تر! 🍪✨
چه خواهید آموخت؟✨
- کوکی چیست؟
- کوکی ها چگونه کار می کنند؟
- برخی از اصطلاحات شبکه کوکی
- برچسب های کوکی ها
به سرزمین عجایب کوکی ها خوش آمدید! نه، ما در مورد نوع خوشمزه ای که در شیر غوطه ور می کنید صحبت نمی کنیم – ما در حال غواصی در بخش های کوچک جادوی داده هستیم که تجربه آنلاین شما را روان و شخصی می کند. آیا تا به حال فکر کرده اید که چگونه وب سایت ها ترجیحات شما را به خاطر می آورند یا شما را به سیستم وارد می کنند؟ بیایید راز کوکی ها را باز کنیم!
کوکی چیست؟ 🧐
کوکی ها قطعات کوچک داده ای هستند که در هنگام مرور یک وب سایت توسط یک مرورگر وب در دستگاه شما ذخیره می شوند. شایان ذکر است که کوکی ها به طور خاص یک اصطلاح مرورگر هستند.
ویژگی های کلیدی کوکی ها
-
ذخیره سازی جفت کلید-مقدار 🗂️
- به کوکی ها مانند یادداشت های چسبناک کوچکی فکر کنید که اطلاعات را به شکل جفت های کلید-مقدار ذخیره می کنند.
-
مثال:
userID=12345
.
-
در اندازه محدود 📏
- حداکثر اندازه کوکی ها 4 کیلوبایت است که هم نام و هم مقدار را شامل می شود.
-
مسئولیت مرورگر 🌐
- مرورگرها با رعایت تگ های خاص، کوکی ها را به صورت خودکار با هر درخواست ذخیره و ارسال می کنند.
-
گزینه های استفاده چندگانه 🎛️
- مدیریت جلسه: هنگام پیمایش در صفحات، کوکی ها شما را به سیستم وارد می کنند.
- شخصی سازی: کوکی ها تنظیمات و تنظیمات برگزیده شما را به خاطر می سپارند.
- ردیابی: کوکی ها بر رفتار شما نظارت می کنند و داده ها را برای تجزیه و تحلیل و تبلیغات هدفمند جمع آوری می کنند.
مسابقه پاپ! 📝
یک مرورگر چند کوکی می تواند ذخیره کند؟
- مرورگرها معمولاً محدودیت کلی دارند 3000 کوکی.
-
حداکثر کوکی در هر دامنه بین مرورگرها متفاوت است:
- گوگل کروم، مایکروسافت اج و اپرا: حداکثر کوکی در هر دامنه 180 است.
- موزیلا فایرفاکس و سافاری: حداکثر کوکی در هر دامنه ۱۵۰ عدد است.
چرا ما عاشق کوکی ها هستیم؟ ❤️
تصور کنید از فروشگاه اینترنتی مورد علاقه خود بازدید می کنید و هر بار که صفحه جدیدی را باز می کنید مجبور به ورود به سیستم شوید. آزار دهنده است، درست است؟ کوکی ها با نگه داشتن شما در سیستم، به خاطر سپردن سبد خرید و حتی پیشنهاد موارد بر اساس بازدیدهای قبلی، روز را نجات می دهند. آنها قهرمانان گمنام یک تجربه وب یکپارچه هستند.
کمی تاریخچه کوکی 📜
کوکیها از اکتبر 1994 وجود داشته و برای اولین بار در Netscape Navigator 0.9beta پیادهسازی شدند.
واقعیت جالب 💡
اصطلاح «کوکی» از «کوکیهای جادویی» گرفته شده است که بستههایی از دادههایی هستند که بدون تغییر ارسال و دریافت میشوند. این مفهوم خیلی قبل از اینکه مرورگرهای وب آن را رایج کنند وجود داشت! بررسی کنید استفاده اولیه برای پیدا کردن بیشتر
انواع کوکی 🍪
خوب، طرفداران کوکی! بیایید به انواع مختلف کوکی ها بپردازیم. این نکات داده های خوشمزه بر اساس طول عمر آنها و تعیین کننده آنها به اشکال مختلفی می آیند.
آن ها چقدر دوام می آورند؟ ⏳
-
کوکی های جلسه:
- موقت: این کوکیها مانند برنامههای تلویزیونی مورد علاقهتان هستند که وقتی مرورگر را خاموش کنید ناپدید میشوند.
- ذخیره سازی: در حافظه مرورگر (RAM) ذخیره می شوند.
- به صورت پیش فرض: کوکیهای جلسه، خوب، برای جلسه هستند. پس از بسته شدن مرورگر، آنها ناپدید می شوند.
- مثال: یک یادداشت چسبناک را تصور کنید که در طول یک جلسه استفاده میکنید و بعد از اتمام آن آن را دور میاندازید.
-
کوکی های ماندگار:
- ماندگاری طولانی: این کوکیها برای یک دوره مشخص باقی میمانند، مانند یادآوری تقویمی که برای سال آینده تنظیم کردهاید.
- ذخیره سازی: روی هارد کاربر ذخیره می شوند.
- مثال: یادداشتی را که به یخچال خود می چسبانید فکر کنید تا یک سال بعد تعطیلات را به شما یادآوری کند.
چه کسی این کوکی ها را تنظیم می کند؟ 🧑🍳👨🍳
-
کوکی های شخص اول:
- توسط وب سایتی که بازدید می کنید تنظیم شده است: این کوکیها مانند کارتهای وفاداری فروشگاه هستند – توسط فروشگاه (وبسایتی) که در حال حاضر از آن خرید میکنید، صادر میشوند.
- مثال: وقتی وارد فروشگاه آنلاین مورد علاقه خود می شوید، این یک کوکی شخص اول است که تنظیمات برگزیده شما را به خاطر می آورد.
-
کوکی های شخص ثالث:
- توسط دامنه های دیگر تنظیم شده است: این کوکیها مانند بروشورهایی هستند که از فروشگاههای دیگر از طریق پست دریافت میکنید—از مکانهای مختلف (دامنه) میآیند و اغلب برای تبلیغات استفاده میشوند.
- مثال: هنگام مرور سایت خبری مورد علاقه خود، ممکن است به لطف کوکی های شخص ثالث، تبلیغاتی را مشاهده کنید که عادات خرید شما را به خاطر بسپارند.
- اگر میخواهید اطلاعات بیشتری در مورد کوکیهای 3️⃣طرف شخص بدانید، این پیوند را بررسی کنید.
چیزهای بی اهمیت کوکی! 🍪
به نظر شما کدام نوع کوکی مسئول نگه داشتن شما در ورود به سیستم در هنگام پیمایش در صفحات مختلف یک وب سایت است؟ آیا این یک کوکی جلسه است یا یک کوکی ماندگار؟
……. فقط منتظر وبلاگ بعدی باشید🫣
کوکی ها چگونه کار می کنند؟ 🔧
آمادهاید بفهمید کوکیها چگونه در پشت صحنه کار میکنند؟ بیایید آن را مرحله به مرحله تجزیه کنیم. در پایان این، دقیقاً خواهید فهمید که چگونه این تکه های کوچک داده تجربه وب شما را روان تر و شخصی تر می کنند.
تنظیم یک کوکی 🏗️
تصور کنید برای خرید یک جفت کفش جدید از یک وب سایت بازدید می کنید و سرور باید بداند چه کسی این جفت کفش را می گیرد. این چیزی است که اتفاق می افتد:
-
سرور یک کوکی می فرستد: هنگامی که از سایت بازدید می کنید، سرور با یک پاسخ HTTP پاسخ می دهد که شامل a
Set-Cookie
سرتیتر.Set-Cookie: user_id=abc123; expires=Wed, 09 Jun 2024 10:18:14 GMT; path=/; domain=.example.com
در Rails، ممکن است ببینید:
response.set_cookie(:cookie_name, tags_hash)
منقضی می شود، مسیر، دامنه-اوه، اینها چه هستند؟ نگران نباشید، ما پشت شما هستیم! به زودی اینها را توضیح خواهیم داد، پس با ما همراه باشید! 🚀
-
سرصفحه های کوکی: این هدر حاوی تمام اطلاعات مورد نیاز برای تنظیم کوکی در مرورگر شما است.
به آن فکر کنید مانند سروری که به مرورگر شما یادداشت کوچکی می دهد که می گوید: “این اطلاعات را برای بعد به خاطر بسپار!”
نگهداری یک کوکی 🗄️
پس از تنظیم کوکی، مرورگر کنترل میکند:
- مرورگر کوکی را ذخیره می کند: مرورگر این کوکی را ایمن نگه می دارد و آن را در حافظه (برای کوکی های جلسه) یا در هارد دیسک (برای کوکی های دائمی) ذخیره می کند.
-
ارسال کوکی به عقب: در بازدید بعدی شما از همان سایت، مرورگر کوکی را با یک درخواست HTTP با استفاده از
Cookie
سرتیتر.
Cookie: user_id=abc123
استفاده از کوکی 🛠️
بالاخره لحظه درخشش کوکی هاست🌟:
نقش سرور: سرور مقادیر کوکی را برای انجام اقداماتی مانند احراز هویت کاربر، به خاطر سپردن تنظیمات برگزیده یا پیگیری جلسات می خواند.
مثال: وقتی به یک وبسایت برمیگردید، سرور شما را میبیند user_id
کوکی می کند و می گوید: “اوه، این تو هستی! خوش آمدی!”
سرور چگونه کوکی را می خواند؟ همانطور که قبلا ذکر کردیم، این فقط یک است Cookie
سرتیتر. سرور مستقیماً این هدر را می خواند، اما بیشتر اوقات، هر فریم ورک نوعی میان افزار برای مدیریت کوکی ها دارد که زندگی را آسان تر می کند. بنابراین، به جای تجزیه دستی Cookie
هدر، شما یک راه منظم و مرتب برای دسترسی به مقادیر کوکی دریافت می کنید.
من آن را در Rails به صورت زیر پیدا خواهم کرد:
user_id = cookies[:user_id]
اکنون چرخه حیات یک کوکی را میدانید – از تنظیم شدن توسط سرور گرفته تا ذخیره و ارسال مجدد توسط مرورگر و در نهایت استفاده توسط سرور برای بهبود تجربه مرور شما. دفعه بعد که از یک جلسه وب شخصی سازی شده لذت می برید، جادوی پشت آن را خواهید دانست! 🪄✨
اصطلاحات شبکه 🌐
درک برخی از اصطلاحات کلیدی شبکه می تواند به شما کمک کند تا در اینترنت بهتر پیمایش کنید و نحوه عملکرد کوکی ها را درک کنید. بیایید این را سرگرم کننده و آسان کنیم!
دامنه
💡 مسابقه پاپ:
با توجه به URL: https://staging.example.com:443/login
، موارد زیر را شناسایی کنید:
- بندر
- دامنه
- زیر دامنه
- طرح
- دامنه قابل ثبت
- دامنه سطح بالا
خوب، اول توضیح می دهیم و به زودی پاسخ ها ارائه می شود!
-
دامنه: URL بدون پورت، نقطه پایانی و طرح. این یک آدرس قابل خواندن برای انسان است که برای دسترسی به وب سایت ها استفاده می شود، مانند نام مستعار جالب یک آدرس IP.
- مثال ها:
staging.example.com
،google.co.uk
- مثال ها:
-
زیر دامنه: بخشی از یک دامنه بزرگتر.
- مثال:
staging
که درstaging.example.com
- مثال:
-
TLD (دامنه سطح بالا): آخرین قسمت نام دامنه.
- مثال:
.com
،.uk
- مثال:
-
دامنه قابل ثبت: دامنه پایه یا ریشه ای که از ثبت نام دامنه (به عنوان مثال، GoDaddy، Namecheap) خریداری می شود.
- مثال:
example.com
- واقعیت جالب: آکسفورد (
ox.ac.uk
) و کمبریج (cam.ac.uk
) دامنه های مختلف قابل ثبت هستند. پس فقط مربوط به نقطه ها نیست! 🌟
- مثال:
مرورگر چگونه می داند؟ 🤔
هنگامی که یک آدرس وب را در مرورگر خود تایپ می کنید، باید مشخص کند که درخواست شما را کجا ارسال کند. از کجا میدونه کجاست example.com
در اینترنت زندگی می کند؟ بیایید آن را تجزیه کنیم!
- ثبت نام دامنه: اینها مثل دفترچه تلفن اینترنت هستند. آنها پایگاه داده همه نام های دامنه ثبت شده در TLD (دامنه سطح بالا) را حفظ می کنند. هر بار که دامنه جدیدی را ثبت می کنید، به این فهرست غول پیکر اضافه می شود.
اینجوری تصور کن:
-
شما: “من می خواهم بازدید کنم
example.com
“ - مرورگر: “باشه، اجازه بده دایرکتمو چک کنم.”
-
ثبت نام دامنه: “در اینجا آدرس IP برای
example.com
“
این رجیستری ها مطمئن می شوند که هر نام دامنه منحصر به فرد است و می تواند به درستی به یک آدرس IP ترجمه شود که رایانه ها از آن برای یافتن مکان یکدیگر در اینترنت استفاده می کنند. آنها را به عنوان واسطه هایی در نظر بگیرید که همه چیز را در پشت صحنه به خوبی پیش می برند!
چرا این برای کوکی ها مهم است؟
هنگامی که یک کوکی برای یک دامنه تنظیم می کنید، باید به دامنه صحیح پیوند داده شود تا وب سایت های مناسب بتوانند به آن دسترسی داشته باشند. مرورگر از سیستم نام دامنه استفاده می کند تا اطمینان حاصل کند که کوکی با دامنه مناسب مرتبط است.
به عنوان مثال، اگر یک کوکی برای example.com
، مرورگر با ثبت نام دامنه بررسی می کند تا مطمئن شود که این دامنه به درستی شناسایی شده است و اینکه کوکی می تواند توسط example.com
و زیر دامنه های آن مانند sub.example.com
.
مثل یک نقشه به نظر میآید! منتظر جادوی دامنه کوکی باشید—این یک سفر شیرین کوکی خواهد بود! 🍪🚀
سایت
یک سایت ترکیبی از یک پروتکل (شما) و یک دامنه قابل ثبت است. این مانند مرکز اصلی آدرس وب شما است.
تمرین عملی:
URL 1 | آدرس 2 | همون سایت | دلیل |
---|---|---|---|
https://www.example.com/foo | https://foo.bar.example.com/bar | آره | همان پروتکل و دامنه قابل ثبت |
https://www.cam.ac.uk/ | https://www.cambridgestudents.cam.ac.uk/ | آره | همان پروتکل و دامنه قابل ثبت |
https://example.com/foo | http://example.com/bar | خیر | پروتکل های مختلف |
https://www.ox.ac.uk/ | https://www.cam.ac.uk/ | خیر | دامنه های مختلف قابل ثبت |
https://example.com/ | https://example.net/ | خیر | دامنه های مختلف قابل ثبت |
اصل و نسب
از کجا آمده است؟
اجزای یک منبع:
-
طرح (پروتکل):
http
،https
،ftp
، و غیره. -
میزبان (دامنه):
example.com
،subdomain.example.com
-
بندر:
80
،443
، و غیره.
تمرین عملی:
URL 1 | آدرس 2 | همان مبدا | دلیل |
---|---|---|---|
https://foo.bar.example.com/bar | https://bar.example.com/bar | خیر | دامنه متفاوت |
https://example.com/:443 | https://example.com/services | آره | همان پروتکل، دامنه و پورت |
SOP (خط مشی منشا یکسان)
SOP به صفحات وب اجازه می دهد تا بدون هیچ محدودیتی درخواست هایی را به همان مبدا ارسال کنند. آن را به عنوان منطقه بدون محدودیت برای صفحات وب خود در نظر بگیرید.
کراس سایت
برعکس همان سایت. مانند سفر به بخش دیگری از دنیای وب است.
- مثال: https://word1.com در مقابل https://word2.com
Cross-Origin
برعکس مبدا. مثل ارسال یک کارت پستال از شهری به شهر دیگر است.
- مثال: مثال: https://word1.com در مقابل https://word2.com
درخواست های متقاطع:
- به طور پیش فرض، مرورگرها برای جلوگیری از خطرات امنیتی، درخواست های متقاطع را مسدود می کنند.
- اگر یک اسکریپت در
https://example.com
سعی می کند یک درخواست AJAX بهhttps://api.example.com
، مرورگر این درخواست را مسدود می کند مگر اینکه سرور درhttps://api.example.com
صراحتاً به آن اجازه می دهد تا از اشتراک گذاری منابع متقاطع (CORS) استفاده کند.
CORS (اشتراک گذاری منابع متقابل)
CORS مکانیزمی است که به سرورها اجازه می دهد تا مشخص کنند چه کسی می تواند به منابع آنها دسترسی داشته باشد و کدام روش ها و هدرهای HTTP مجاز هستند. این پیکربندی در سمت سرور انجام می شود.
- دلیل اصلی: از منابع سرور خود محافظت کنید.
-
ارتباط با کوکی ها: برای ارسال کوکی ها با هر درخواست، سرور باید نشان دهد که اجازه ارسال اعتبارنامه ها را می دهد. این کار با استفاده از هدر انجام می شود
Access-Control-Allow-Credentials: true
. - برای اطلاعات بیشتر در مورد نحوه عملکرد CORS، این پیوند را بررسی کنید.
کوکی ها و اصطلاحات شبکه
Cross-Origin و Cookies: برای ارسال کوکی ها با درخواست های متقاطع، سرور باید آن را تنظیم کند Access-Control-Allow-Credentials: true
سرتیتر.
پاسخ مسابقه پاپ 📝
برای URL https://staging.example.com:443/login
:
-
بندر:
443
-
دامنه:
example.com
-
زیر دامنه:
staging
-
طرح:
https
-
دامنه قابل ثبت:
example.com
-
دامنه سطح بالا:
.com
درک این اصطلاحات به درک نحوه عملکرد فناوری های وب و نحوه تعامل بخش های مختلف URL کمک می کند. چه در حال تنظیم کوکیها، مدیریت درخواستهای متقاطع باشید، یا فقط کنجکاو باشید که مرورگرتان چگونه با سرورها ارتباط برقرار میکند، این اصول ضروری هستند! 🌐
برچسب های کوکی ها 🍪🔖
دامنه
این را به عنوان لیست مهمانان VIP در نظر بگیرید. 🍾 یک کوکی با تگ دامنه فقط با دامنه مشخص شده ترکیب می شود. بنابراین، برای از بین بردن حزب AWS، نیازی به کوکی های فیس بوک نیست. 🎉
مثال: https://staging.example.com:443
مسیر
این تگ به کوکی می گوید که کدام قسمت از وب سایت را باید بازدید کند. آن را به عنوان نقشه ای تصور کنید که کوکی را به دایرکتوری درست هدایت می کند، مانند ارسال مستقیم آن به دایرکتوری admin_portal/v1/sessions/refresh_access_token برای یک ماموریت ویژه 🗺️
برچسب های امنیتی: ایمن نگه داشتن کوکی ها
HttpOnly
این تگ مانند یک سرویس مخفی برای کوکی شما است و اطمینان می دهد که هیچ جاوا اسکریپتی نمی تواند به آن نگاه کند. 🕵️♂️ به پیشگیری کمک می کند اسکریپت بین سایتی (XSS) حملات، که در آن اسکریپت های یواشکی سعی می کنند کدهای مخرب را به سایت شما تزریق کنند. 🚫🕵️
امن است
این تگ می گوید، “فقط در HTTPS، لطفا!” 🚀 تضمین می کند که کوکی ها فقط از طریق اتصالات امن و رمزگذاری شده ارسال می شوند. 🛡️
همان سایت
SameSite را به عنوان محدودیت سفر کوکی در نظر بگیرید. 🌍 نحوه عملکرد آن به این صورت است:
- سخت گیرانه: کوکی یک خانه است — فقط در سایت خودش کار می کند. 🌐
-
سست: کمی انعطاف پذیرتر است اما همچنان محتاط است. فقط تحت شرایط خاصی به درخواست های بین سایتی می پیوندد:
- روش درخواست باید ایمن باشد (مانند GET، نه POST). 🚦
- درخواست باید یک ناوبری سطح بالا باشد، به این معنی که URL تغییر می کند (مانند کلیک کردن روی پیوند به یک سایت جدید). 🌐
-
هیچ یک: کوکی یک مسافر جهانی است که تمام درخواست های بین سایتی را مجاز می کند اما به اتصالات ایمن نیاز دارد (
secure: true
). ✈️🔒
بسته بندی آن 🎁
شما در دنیای شیرین کوکی ها سفر کرده اید و اکنون یک خبره کوکی هستید! در اینجا خلاصه ای سریع از آنچه آموخته ایم آورده شده است:
-
کوکی چیست؟
بستههای داده کوچکی که توسط مرورگر شما ذخیره میشوند تا تجربه وب شما را روانتر و شخصیتر کنند.
-
کوکی ها چگونه کار می کنند؟
آنها توسط سرور تنظیم می شوند، توسط مرورگر ذخیره می شوند و با درخواست هایی برای کمک به مواردی مانند ورود به سیستم و به خاطر سپردن تنظیمات ارسال می شوند.
-
برخی از اصطلاحات شبکه کوکی:
- دامنه: پایگاه اصلی URL که کوکی ها در آن تعلق دارند.
- مسیر: دایرکتوری خاصی که کوکی هدف قرار می دهد.
- اصل و نسب: ترکیبی از پروتکل، دامنه و پورت برای تعیین اینکه درخواست ها از کجا می آیند.
- خط مشی همان مبدأ: درخواست های متقاطع را برای امنیت کنترل می کند.
- CORS: به سرورها اجازه می دهد تا مشخص کنند چه کسی و تحت چه شرایطی می تواند به منابع خود دسترسی داشته باشد.
-
برچسب های کوکی:
- برچسب های پایه: دامنه و مسیر برای هدفگیری مؤثر کوکیها.
- برچسب های امنیتی: HttpOnly، Secure و SameSite برای ایمن نگه داشتن و کنترل کوکی ها.
نکته پایانی 🌟
از اینکه در این سفر شیرینی لذت بخش همراه ما بودید متشکریم! 🎉🍪 چه مانند یک حرفه ای کوکی ها را تنظیم کنید یا صرفاً در مورد فناوری شیرین پشت صحنه کنجکاو باشید، این دانش را دارید که می توانید با اطمینان از کوکی های خود استفاده کنید.
تشکر فراوان برای خواندن، و ممکن است کوکی های شما امن باشند و ماجراهای وب شما همیشه خوشمزه تر! 🍪✨