Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В днешния свят на уеб разработката понякога срещаме думата „бисквитка“ (cookie). Мнозина може да се притесняват от нея, но всъщност това е много полезна и безобидна технология. В това ръководство ще разберете какво представляват бисквитките, как се използват в JavaScript и кои по-съвременни алтернативи съществуват. Ще ви помогнем да работите с тях лесно и сигурно! 🚀
Бисквитката е малък текстов файл, който уебсайтът записва на вашия компютър. Тя съхранява малко количество информация. Например, кой сте, предпочитанията ви или какво сте добавили в количката за пазаруване.
Бисквитките сами по себе си не са опасни. Те не съдържат вируси или зловреден код. Те са просто текстови файлове, които се използват за подобряване на потребителското изживяване.
Важното е как уебсайтовете използват тези бисквитки. Затова е добре да бъдете внимателни с личната си информация и да използвате сайтове, на които имате доверие.
Всеки път, когато посетите сайт, браузърът ви получава инструкции да създаде бисквитка. Тази информация се изпраща обратно към сървъра при следващи посещения. Така сайтът разбира, че вие вече сте посетили.
Например: ако сте влезли в профила си, сайтът запомня това и не ви кара да се логвате отново при всяко посещение.
JavaScript предоставя прост начин да управлявате бисквитките чрез обекта document.cookie
.
document.cookie = "username=Petar; expires=Fri, 31 Dec 2026 23:59:59 GMT; path=/";
console.log(document.cookie);
Това връща всички бисквитки за текущия сайт като текст, например:
username=Petar; theme=dark
За да намерим конкретна бисквитка, трябва да я обработим като низ.
function getCookie(name) {
let cookies = document.cookie.split('; ');
for(let cookie of cookies) {
let [key, value] = cookie.split('=');
if(key === name) return value;
}
return null;
}
console.log(getCookie('username')); // Ще върне 'Petar'
Изтриването става като зададем изминала дата:
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
Това кара браузъра да премахне бисквитката с име username
.
path
, за да ограничите обхвата.Secure
и HttpOnly
флагове на сървъра за по-добра сигурност.Бисквитките не са единственият начин да съхраняваме данни в браузъра. Днес има и други удобни методи:
localStorage.setItem('username', 'Petar');
console.log(localStorage.getItem('username')); // Petar
localStorage.removeItem('username');
sessionStorage.setItem('cart', '3 items');
console.log(sessionStorage.getItem('cart'));
sessionStorage.clear(); // Изтрива всички данни
Характеристика | Бисквитки | localStorage/sessionStorage |
---|---|---|
Максимален размер | Около 4KB | Около 5MB |
Автоматично изпращане | Да, при всяка HTTP заявка | Не, достъпни само от JavaScript |
Срок на валидност | Задава се | localStorage: постоянно, sessionStorage: сесийно |
Сигурност | По-ниска, лесно може да бъде прочетена от сървъра | По-сигурно, не се изпраща към сървъра автоматично |
Бисквитките са задължителни, когато трябва да изпращаме информация към сървъра.
localStorage е удобен за големи и бързи данни, които остават в браузъра.
Да кажем, че искате да запазите дали потребителят предпочита тъмен или светъл режим на сайта.
С бисквитки:
// Записване
document.cookie = "theme=dark; path=/; expires=Fri, 31 Dec 2026 23:59:59 GMT";
// Четене
function getCookie(name) {
let cookies = document.cookie.split('; ');
for(let cookie of cookies) {
let [key, value] = cookie.split('=');
if(key === name) return value;
}
return null;
}
let theme = getCookie('theme');
if(theme === 'dark') {
document.body.classList.add('dark-mode');
}
// Записване
localStorage.setItem('theme', 'dark');
// Четене
let theme = localStorage.getItem('theme');
if(theme === 'dark') {
document.body.classList.add('dark-mode');
}
localStorage е по-лесен и няма нужда от парсване на текст, но бисквитките могат да изпратят тази информация и на сървъра, ако е нужно.
Създаването и използването на бисквитки е важна част от съвременния уеб. С тях могат да се подобрят сайтовете и услугите.
Понеже бисквитките могат да съхраняват лични данни, трябва да сте информирани и да имате контрол.
Затова повечето сайтове ви уведомяват за използването на бисквитки и ви дават опция да ги приемете или откажете. Това е нещо добро — позволява ви да избирате.
document.cookie
за базова работа с бисквитки в JavaScript.localStorage
или sessionStorage
.1. Колко време се съхраняват бисквитките?
До дата, зададена в expires
. Ако няма такава, бисквитката е сесийна.
2. Могат ли бисквитките да крадат информация?
Не, сами по себе си не могат. Но сайтът може да използва лични данни, ако не е защитен.
3. Мога ли да изтрия всички бисквитки наведнъж?
Не директно с JavaScript, но можете да изтривате по една, като зададете изтекъл срок.
Надявам се това ръководство да ви е полезно! Ако имате въпроси, питайте! 😄
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut