Sitenizi bölümlenmiş çerezlere geçirirken, belirli bir istemci için aynı ada sahip hem bölümlenmiş hem de bölümlenmemiş bir çerez varsa beklenmedik bir davranışla karşılaşabilirsiniz.
Bölümlendirilmiş bir çerez ayarlamak, aynı ada sahip mevcut bir bölümlendirilmemiş çerezi geçersiz kılmaz veya değiştirmez. Üçüncü taraf çerezleri etkin olduğu sürece her ikisi de ayrı çerez kavanozlarında tutulur. Üçüncü taraf çerezleri devre dışı bırakıldığında yalnızca bölümlendirilmiş çerezler kabul edilir. Her iki çerez de mevcutsa programatik olarak hangisinin bölümlendirilmiş olduğunu, hangisinin olmadığını belirlemek mümkün değildir ve bu durum beklenmeyen davranışlara yol açabilir.
Bu sorunu gidermek için iki olası seçenek vardır: 1. Değiştirdiğiniz çerezin kullanım süresini sona erdirin 2. Çerezlerinizi yeniden adlandırma
Göz önünde bulundurulması gereken önemli noktalar
Bölünmüş çerezlere geçiş yaparken aşağıdakileri göz önünde bulundurun:
- Bir HTTP isteğinde gönderilen çerezin bölümlenmiş mi yoksa bölümlenmemiş mi olduğunu programlı olarak belirlemenin bir yolu yoktur. Bununla birlikte, Chrome Geliştirici Araçları'nda bir çerezin bölümlendirilmiş durumunu belirleyebilirsiniz. CookieStore API kullanarak
HttpOnly
özelliğine sahip olmayan bölümlendirilmiş ve bölümlenmemiş çerezleri birbirinden ayırabilirsiniz. - Bölümlendirilmiş çerezler, bölümlendirilmemiş çerezlerin üzerine yazmaz. Biri
Partitioned
özelliğine sahipse tamamen aynı olan (yani ad, alan veya yol gibi aynı özelliklere sahip) iki çerez ayrı çerez olarak değerlendirilir. - Aynı ağ çağrısında hem bölümlenmiş hem de bölümlenmemiş bir çerezin aynı ada sahip olduğu durumları önlemek en iyisidir.
Değiştirdiğiniz çerezlerin süresinin dolması
Siteniz veya hizmetiniz adda bir değişikliğe uyum sağlayamazsa mevcut bölümlendirilmemiş çerezin süresi dolarken yeni bir bölümlendirilmiş çerez oluşturabilirsiniz. Bir çerezin bölümlendirilip bölümlendirilmediğini belirlemenin bir yolu olmasa da Set-Cookie
Partitioned
özelliğine sahip üstbilgiler, bölümlendirilmemiş çerezleri etkilemez.
Aşağıdaki örnekte, example
adlı bölümlendirilmemiş çerezin süresinin nasıl dolacağı ve aynı ada sahip olsalar bile bölümlendirilmiş çerezlerin etkilenmeden nasıl bırakılacağı gösterilmektedir. cookieName
adlı yeni bir bölümlendirilmiş çerez, mevcutsa eklenir veya güncellenir.
Set-Cookie: example=-1;HttpOnly;SameSite=None;Secure;Max-Age:0
Set-Cookie: cookieName=value;Secure;SameSite=None;MaxAge=34560000;Partitioned
Çerezlerinizi yeniden adlandırma
Sorunsuz bir geçiş sağlamak için en güçlü yöntem, bölümlendirilmiş ve bölümlenmemiş çerezleriniz için farklı adlar kullanmaktır. Örneğin, "example" adında bölümlendirilmemiş bir çereziniz varsa bunu bölümlendirilmiş bir çereze taşıyabilirsiniz.
Set-Cookie: example-partitioned=value;Secure;SameSite=None;MaxAge=34560000;Partitioned
Çerezin geçerlilik süresi programatik olarak kullanıma sunulmadığından, yeni çerezin geçerlilik süresini, bölümlendirilmemiş çerezin geçerlilik süresiyle aynı zamana denk gelecek şekilde ayarlamanın bir yolu yoktur. Bu işlem sırasında çerezin değerini yenilemek pratik olabilir.
Hem bölümlendirilmiş hem de bölümlenmemiş çerezleri koruma
Geçiş döneminde, bölümlenmiş ve bölümlenmemiş olmak üzere iki ayrı senkronize çerez bulundurabilirsiniz. Örneğin, hem auth
hem de auth-partitioned
çerezleriniz olabilir. Bu çerezlerden ikincisi Partitioned
özelliğiyle ayarlanmıştır.
Değer her güncellendiğinde her iki çerezi de ayarlamayı denemeniz gerekir.
- Üçüncü taraf çerezlerini engelleyen ancak henüz CHIPS'i desteklemeyen istemcilerde: hiçbir çerez kabul edilmez.
- Üçüncü taraf çerezlerini engelleyen ve CHIPS'i destekleyen istemcilerde:
auth
çerezi reddedilir ancakauth-partitioned
çerezi kabul edilir. - CHIPS'i destekleyip desteklemediklerine bakılmaksızın üçüncü taraf çerezlerini engellemeyen istemcilerde: Hem
auth
hem deauth-partitioned
kabul edilir.
Uygulamanızın kimlik doğrulama çerezini okuması gerektiğinde önce auth-partitioned
çerezini aramanız gerekir. Ancak değişikliği geçici olarak geri almanız gerekirse auth
çerezini aramaya geri dönebilirsiniz.
Kullanıcıların çoğunluğunun çerezlerinin yenilendiğini belirlemenizin ardından auth-partitioned
çerezi kullanımdan kaldırılabilir ve Bölümlendirilmiş özellik normal kimlik doğrulama çerezine eklenebilir.