JavaScript Notları VII — Çerezler (Cookies)

☁️ Ümit Eroğlu 🌍🛰
3 min readApr 14, 2021
https://unsplash.com/photos/bJzJH85Kp7g

112 — Cookie (Çerez) nedir?

Cookie, isim ve değer ikililerinden oluşan küçük itemlerdir. Cookie’ler web tarayıcınızın ulaşması için bilgisayarınızda saklanır.

Tarayıcı ve sunucu (server), stateless (durum bilgisi olmayan) bir protokol olan HTTP ile iletişim kurar. Stateless protokolü, her çağrı ile bağımsız olarak ilgilenir. Bu sayede server veriyi tarayıcıya gönderdikten sonra onu tutmak zorunda kalmaz. Cookie’ler ile bu veri, server ile tekrar iletişim kurmadan (depolanan cookie dosyasından) direk geri getirilebilir.

Mesela bir kullanıcı bir web sayfasını ziyaret ettiğinde, kullanıcı adı cookie ile saklanabilir. Kullanıcının sonraki ziyaretinde, sayfaya ait olan cookie çağrıya eklenir. Bu yöntemle server ihtiyaç duyulan (ve cookie tarafından hatırlanan) veriyi almış olur.

113 — Çerezler, istemci sunucu (client server) ve HTTP iletişimine nasıl yardımcı olur?

Bir kullanıcı server’a çağrı gönderdiğinde, o çağrının her biri sanki farklı bir kullanıcıdan gönderilmiş gibi ele alınır.

Server bir HTTP çağrısı alırken, cevap ile birlikte “Set-Cookie” başlığı gönderebilir.

Buna göre bir kullanıcı server’a çağrı gönderdiği zaman, o çağrıya çerez otomatik olarak eklenir. Çereze bakılarak, server kullanıcıları tanır.

114 — Çerezler nerede saklanır?

Tarayıcı oturumunda, çerezler hafızada saklanır. Çıkışta ise genellikle “cookies.txt” isimli dosyaya depolanırlar.

Farklı tarayıcılar çerezleri disk üzerinde farklı yerlere depolayabilirler.

Örneğin Chrome tarayıcısı kullanan bir Windows işletim sisteminde bu yer genellikle aşağıdaki gibidir.

C:\Users\<YourUser>\AppData\Local\Google\Chrome\User Data\Default\

Çerezlerin belirli bir zamanı vardır. Bu zaman dolduğunda artık diske yazılmaz.
Bazı registry temizleme programları çerezleri silebilir ve tarayıcı onları ilk kullanımda tekrar yükler.

115 — Çerezlerin parametreleri nelerdir?

Bir çerezin altı tane parametresi bulunur. Bunlar:

İsim (name), değer (value), kullanma tarihi (expires), dosya yolu (path), alan (domain) ve güvenliktir.(security)

Genellikle isim ve değere ihtiyaç duyulur. Diğerleri opsiyoneldir.

document.cookie=”name=VALUE;expires=DATE;path=PATH;domain=DOMAIN;secure”;

İsim ve Değer: Çerezin ilk kısmı isim ve değerdir. Tüm isim/değer, tek bir string olmalı ve virgül, boşluk gibi karakterler içermemelidir.

Kullanma Tarihi: Kullanıcı tarayıcıyı terk ettiğinde çerez kaybolacaktır. Çereze daha fazla zaman kazandırmak için aşağıdaki gibi bir formatta bir kullanma tarihi belirlemelisiniz:

DD-Mon-YY HH:MM:SS GMT

Dosya Yolu: Dosya yolu genellikle root dizini seviyesindedir. (‘/’) Bu, çerezin sitedeki tüm sayfalar için erişilebilir olduğu anlamına gelir.

Eğer çerezin belirli bir dizin için okunabilir olmasını istiyorsanız dosya yolu path=/< directoryname> şeklinde belirtilmelidir.

Alan: Bazı web sitelerinin birden fazla alan adı bulunur. Alanın amacı çerezi diğer alt alanlar için uygun hale getirmektir.

Mesela websitesi http://www.<domain>.com olsun ve alt alanlarıda
http://www.<subdomainbir>.<domain>.com ve http://www.<subdomainiki>.<domain>.com olsun. Eğer bir web sayfası subdomainbir için bir çerez koyduysa, subdomainiki bunu okuyamayacaktır. Ancak “domain=<domain>” şeklinde alt alanları eklersek sorun çözülmüş olur.

Güvenlik: Bir çerezin son parametresidir ve Boolean bir değerdir. Varsayılan değeri “false” olur. Eğer çerez “secure” olarak işaretlenirse çerez web server’a gönderilir ve güvenli bir iletişim kanalı kullanarak geri almaya çalışılır.

116 — Kullanıcı çerezleri engelleyebilir mi?

Evet bir kullanıcı çerezleri etkisizleştirebilir. Örneğin Chrome tarayıcısında

settings →Advanced Settings →Privacy and security →Content setting →Cookies and disable cookies 

ile çerezler etkisiz hale getirilebilir.

117 — Çerez nasıl oluşturulur?

Ziyaretçi bir web sitesini ilk kez ziyaret ettiğinde adını girer ve bu ad çerezlerde aşağıdaki gibi saklanır:

function createCookie(username, value) {​ document.cookie=username + ”=” + value;}

118 — Çerez nasıl okunur?

JavaScript çerezleri şu şekilde okunabilir:

var x = document.cookie;

119 — Çerez nasıl silinir?

Bir çerezi silerken bir değer belirtmeniz gerekmez ancak JavaScript çerezleri, kullanma parametresi belirtilerek silinebilir.

document.cookie=”username=; expires=Thu, 01 Jan 2021 00:00:00 UTC; path= /; ”;

Bazı tarayıcılar dosya yolunu belirtmezseniz çerezi silmenize izin vermez.

Çerez temizleme işlemini tarayıcının ayarlarından yönetebilirsiniz.

120 — Yerel depolama (local storage) ile oturum depolaması (session storage) arasındaki fark nedir?

Yerel depolama: İstemci ve sunucu arasındaki trafiği azaltmak için, her HTTP çağrısında, veri sunucuya tekrar tekrar gönderilmez. (HTML, resimler, JavaScript, CSS, vb gibi) Veri, manuel şekilde ayarlar kullanılarak ya da bir program aracılığıyla temizlenene kadar kalacaktır.

Oturum depolaması: Yerel depolamaya benzer şekildedir. Tek farkı yerel depolamada saklanan verinin kullanma tarihi yoktur. Oturum sona erdiğinde (tarayıcı kapandığında) saklanan veri temizlenir.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

☁️ Ümit Eroğlu 🌍🛰
☁️ Ümit Eroğlu 🌍🛰

Written by ☁️ Ümit Eroğlu 🌍🛰

Software, Cloud, DevOps, IoT, GIS, Remote Sensing.

No responses yet

Write a response