Cookie v.s. Session | Çerez ve oturum arasındaki fark

PHP ile Cookie v.s. Session (Çerez ve oturum) arasındaki farkı inceleyelim. Birbirine benzer oldukları için farkını çözebilme amacıyla örneklerle denemeler yapıp sonuçları inceleyeceğiz. Denemeye PHP ile bir sayfa açıp Cookie oluşturarak başlayalım (deneme.php). Kodumuzda İki tane Cookie değişkeni oluşturalım:

// Cookie v.s. Session
// Bu satırda iki adet cookie (çerez) yaratıyoruz ve ,
// internet tarayıcısına cookie'yi yolluyoruz
setcookie("cookie_ismi_1", "cookie degeri", time()+3600); 
setcookie("cookie_ismi_2", "cookie degeri", time()+3600,"/deneme"); 
Daha önce kurduğum yerel sunucuda PHP kodunu çalıştırdıktan sonra FireFox ile çerezlere bakalım:

php ile cookie oluşturma

Gördüğünüz gibi Cookie isimlerini değerlerini görebiliyoruz. Çerezlere dokunmdan PHP kodumuzu modifiye edip iki tane Session oluşturalım:
// Cookie v.s. Session
// session_start komutu ile bir tane session ID yaratılıp internet tarayıcısna
// id değeri yollanıyor.  
session_start(); 
// İki tane session (oturum) değişkeni oluşturalım
$_SESSION['session_degiskeni_1'] = "session_degeri"; 
$_SESSION['session_degiskeni_2'] = "session_degeri"; 
Şimdi çerezleri bakalım:

php ile session oluşturma

Çerezler kısmında PHPSESSID isimli bir cookie ve uzun bir session id değerini görüyüoruz. Fakat session değişkenlerini göremiyoruz bu kısımda. İşte küçük fark burada ortaya çıkıyor. Session oluşturduğumuz zaman internet tarayıcısına bir session id değeri yollanıyor fakat değişkenler sunucuda tutuluyor. Session değişkenleri sunucuda tutulduğu için session değişkenlerin sunucuda nerede tutulduğu sorusu akla geliyor. PHP'de session değişkenleri Windows ve XAMPP kullanıyorsanız standart olarak C:\xampp\tmp klasöründe saklanıyor. Tabii bunu da session_save_path($savepath) fonksiyonu ile değiştirebilirsiniz.

Cookie v.s. Session (Çerez ve oturum arasındaki fark)

Özet geçersek session ile cookie arasındaki farkın session'da değişkenlerin sunucuda tutulduğu, cookie oluşturulduğunda ise cookie değişkenlerin kullanıcı (istemci) tarafında tutulduğu. Benzer tek yönü ise session yaratıldında otomatik oluşturulan session id numarasının cookie ile kullancının tarayıcısına yollanıyor.
yazan Zülküf Küçüközer tarih   30th August 2009
primary key words  Session | Cookie | Php okunma  14675
secondary key words  Çerez | Oturum
writing leyla writing 19th April 2011
çok güzel özetlemişsiniz, saolun.
writing mfkocak writing 10th August 2011
oldukça açık ve net vede sade bir anlatım olmuş. Teşekkürler.