Kullanıcı Aracısı Azaltma kaynak denemesi

User-Agent Azaltma, User-Agent (UA) dizesindeki bilgileri tarayıcının markası ve önemli sürümü, masaüstü veya mobil arasındaki fark ve çalıştığı platforma indirerek pasif dijital parmak izi yüzeylerini azaltma girişimidir. Şu anda UA dizesi her HTTP isteğinde paylaşılmaktadır ve tarayıcı tarafından yüklenen tüm kaynaklara JavaScript'te gösterilmektedir. Tarayıcı, çalıştığı platform ve özellikleri hakkında önemli bilgiler içerir. Kullanıcı Aracısı İstemci İpuçları (UA-CH), tam UA dizesiyle aynı bilgileri sağlarken sitelerin yalnızca ihtiyaç duydukları UA bilgilerini istemesine izin verebilir.

Chrome 95 Beta'dan başlayarak, sitelerin kısaltılmış UA dizesini hemen alabilmesini sağlamak için Kullanıcı Aracısı Kısaltma'nın kaynak denemesini kullanıma sunacağız. Bu sayede, azaltılan UA özelliği Chrome'da varsayılan davranış haline gelmeden önce sitelerin sorunları keşfedip düzeltmesini sağlayacaktır (azaltmanın 2022'nin ikinci çeyreğinde başlaması planlanmaktadır). Kaynak denemesini kararlı nüfus için kullanıma sunmadan önce 95 Beta kullanıcısı üzerinde test etmek isterseniz Chrome 95'in yayın tarihinden önce (19 Ekim 2021 şu anda planlanmıştır) kaydolun ve test edin.

Kaynak denemesi ve neler bekleyebileceğinizle ilgili genel bilgileri aşağıda bulabilirsiniz. Her zaman olduğu gibi, bu deneme süresince UA Reduction GitHub deposu'ndaki geri bildirimlerinizi veya ortaya çıkabilecek sorunları memnuniyetle karşılıyoruz.

User-Agent nedir?

User-Agent (UA) dizesi her HTTP isteğinde paylaşılır ve tarayıcı tarafından yüklenen tüm kaynaklara JavaScript'te gösterilir. Şu anda tarayıcı ve çalıştığı platform hakkında önemli bilgiler içerir.

Kullanıcı Aracısı neden azaltılıyor?

User-Agent Azaltma, Chrome Tarayıcı'da ilk kez 2020'nin Ocak ayında duyurulan pasif dijital parmak izi yüzeylerini azaltmaya yönelik bir girişimdir. UA dizesindeki bilgiler yalnızca tarayıcının markası ve belirgin sürümü, masaüstü veya mobil cihaz farkı ve çalıştığı platform ile sınırlandırıldığında kullanıcıları tek tek tanımlamak daha zor hale gelir.

Bu durum web geliştiricileri için ne anlama geliyor?

Siteler, azaltılmış UA dizeleri almaya hazırlanmalı ve kaynak denemesine (aşağıda ayrıntılı olarak açıklanmıştır) katılmalıdır. Azaltılmış kullanıcı aracısı değerleri şuralarda görünür:

  • User-Agent HTTP isteği başlığı
  • navigator.userAgent JavaScript alıcısı
  • navigator.platform JavaScript alıcısı
  • navigator.appVersion JavaScript alıcısı

Kullanıcı aracısı tarafından paylaşılandan daha fazla istemci bilgisi almak için sitelerin yeni User-Agent Client Hints API'ye taşınması gerekecektir. Taşıma stratejileri hakkında daha fazla bilgi için Kullanıcı Aracısı İstemci İpuçlarına Taşıma bölümüne bakın.

User-Agent kısaltma planları şu anda iOS ve Web Görünümü'nü içermediğinden, bu platformlar tam kullanıcı aracısı dizesini almaya devam eder. Bunun başlıca nedeni, bu platformlarda Kullanıcı Aracısı İstemci İpuçları'nı henüz uygulamamış olmasıdır.

Bu kaynak denemesi nasıl çalışır?

Bu kaynak denemesi, standart kaynak denemesinden biraz farklıdır. Standart kaynak denemeleri yalnızca yanıttaki davranışı kontrol edebilir (örneğin, yanıtın JavaScript'inde API'ye erişimi kontrol edebilir). Bu denemede, hedefimiz yalnızca JavaScript API'lerinde sağlanan UA dizesini değil, aynı zamanda HTTP isteğinde gönderilen User-Agent başlığını da değiştirmektir.

Bunu yapabilmek için Sec-CH-UA-Reduced adında geçici bir istemci ipucu tanımlıyoruz. Bu ipucunun bir istekteki varlığı, User-Agent başlık değerinin kısaltılmış UA dizesini içerdiğini gösterecektir. Sec-CH-UA-Reduced istemci ipucu, yalnızca kaynak denemesi jetonu geçerliyse (azaltılmış UA dizesiyle birlikte) ve kaynak denemesi sona erdikten sonra Sec-CH-UA-Reduced istemci ipucu çalışmazsa gönderilir. Critical-CH header özelliğini ayarlamazsanız ilk gezinme isteğinin indirilmemiş User-Agent dizesini almaya devam edeceğini unutmayın.

Aynı kaynağa alt kaynak istekleri, gönderilen üst düzey istekle aynı User-Agent dizesini otomatik olarak gönderir. Üçüncü taraf kaynaklara yapılan alt kaynak istekleri, izin politikasının izin vermesi koşuluyla kaynak deneme jetonunun geçerli olması durumunda azaltılmış UA dizesi dahil olmak üzere üst düzey istek olarak aynı User-Agent dizesini de gönderir.

Kullanıcı Aracısı Kısaltma kaynak denemesine nasıl katılabilirim?

  1. Kaynak denemesine kaydolmak ve alanlarınız için jeton almak üzere Kullanıcı Aracısı Kısaltma Denemesi sayfasını ziyaret edin.

  2. HTTP yanıt başlıklarınızı güncelleyin:

    1. HTTP yanıt başlığınıza Origin-Trial: <ORIGIN TRIAL TOKEN> ifadesini ekleyin. Burada <ORIGIN TRIAL TOKEN>, kaynak denemesine kaydolurken aldığınız jetonu içerir.
    2. Accept-CH: Sec-CH-UA-Reduced öğesini HTTP yanıt başlığınıza ekleyin.
    3. Accept-CH politikasının ayarlanması, yalnızca azaltılmış User-Agent dizesinin kaynağa sonraki isteklerde gönderilmesine neden olur. İlk gezinme isteğini azaltılmış User-Agent dizesiyle yeniden göndermek için Accept-CH ve Origin-Trial üstbilgilerinin yanı sıra HTTP yanıt başlığınıza Critical-CH: Sec-CH-UA-Reduced ekleyin.
    4. Not: Yanıt başlıkları geçerli bir Origin-Trial jetonu ve Accept-CH: Sec-CH-UA-Reduced içeriyorsa tüm alt kaynak istekleri (örneğin, resimler veya stil sayfaları için) ve alt gezinmeler (ör. iframe'ler) indirgenmiş UA dizesini (bu isteklerin kaynakları kaynak denemesinde kayıtlı olmasa bile) gönderir.
  3. Web sitenizi Chrome M95'te (veya sonraki bir sürümde) yükleyin ve kısaltılmış UA dizesini almaya başlayın.

  4. Sorunları veya geri bildirimleri UA Reduction GitHub deposuna gönderin.

  5. Kaynak denemesinin basit bir gösterimi (kaynak koduyla birlikte) için https://uar-ot.glitch.me/ adresine bakın.

Kaynak denemesine üçüncü taraf yerleştirmesi olarak nasıl katılabilirsiniz?

Chrome 96'dan itibaren, üçüncü taraf yerleştirmeleri (örneğin, başka bir sitenin içindeki iframe) üst düzey sitenin kaydedilmesini gerektirmeden kaynak denemesine katılabilir.

Üçüncü taraf yerleştirilmiş öğe olarak kaydolmak için:

  1. Kullanıcı Aracısı Kısaltma Denemesi sayfasını ziyaret edin ve Kaydol'u tıklayın.
  2. Jetonu oluştururken Third-party matching onay kutusunu işaretlediğinizden emin olun.
  3. Üçüncü taraf yerleştirmesinden azaltılmış User-Agent üstbilgisi almak için HTTP yanıt başlıklarını güncelleyin.
  4. JavaScript API'lerinde kısaltılmış User-Agent dizesini almak için deneme jetonunun JavaScript aracılığıyla yerleştirilmesi gerekir.

Üçüncü taraf yerleştirmelerinde kaynak denemesi çalıştırmayla ilgili bazı önemli noktalar: Üçüncü taraf yerleştirmeleri için + Critical-CH belirtilemez. Bu nedenle, üçüncü taraf yerleştirmesinin alt kaynak istekleri azaltılmış UA dizesini gönderse de ilk gezinme, kısaltılmış UA dizesini göndermez. + Kaynak denemesi, üçüncü taraf yerleştirme kaynağı için doğrulanırsa üst düzey gezinmede aynı kaynağa yapılan sonraki istekler kısaltılmış UA dizesini gönderir. Bu nedenle, hem üst düzey isteklerin hem de yerleştirme isteklerinin kaynak denemesine katılımı birlikte artırmanız önerilir. + Kullanıcı aracısı üçüncü taraf çerezlerini devre dışı bıraktıysa kaynak denemesi, üçüncü taraf yerleştirme isteklerinde User-Agent başlığı için çalışmaz. Ancak yine de JavaScript API'leri, kısaltılmış UA dizesini alır.

Kaynak denemesinin çalıştığını nasıl doğrulayabilirim?

Kaynak denemesinin çalıştığını doğrulamak için istek başlıklarını inceleyin ve aşağıdakilerden emin olun:

  1. User-Agent başlığı azaltılmış sürümü içerir. İndirilmiş UA dizeleri örneklerinin yer aldığı bu listeyi inceleyin. Bunu anlamanın kolay bir yolu, Chrome alt sürüm dizesinin 0.0.0 değerini içermesidir.
  2. Sec-CH-UA-Reduced başlığı ?1 olarak ayarlandı.

Kaynak deneme jetonunu içeren ilk yanıtın başlıkları aşağıdaki gibi görünmelidir:

Kaynak deneme jetonunu içeren ilk yanıtın üstbilgileri.

Kısaltılmış UA dizesini içeren sonraki istek başlıkları aşağıdaki gibi görünmelidir:

Kısaltılmış UA dizesini içeren sonraki istek başlıkları.

Kullanıcı Aracısı Azaltma kaynak denemesine katılmayı nasıl durdurabilirim?

Deneme süresi boyunca herhangi bir zamanda, katılımı durdurabilir ve tüm User-Agent dizesini alabilirsiniz. Katılmayı durdurmak için:

  1. HTTP yanıtınızda Sec-CH-UA-Reduced değerini içermeyen bir Accept-CH üst bilgisi gönderin. Not: Siteniz başka bir İstemci İpucu istemiyorsa boş bir değere sahip Accept-CH, bunu yapmak için geçerli bir yoldur.
  2. User-Agent Üstbilgisini Kısaltma denemesi için Origin-Trial üst bilgisini HTTP yanıtınızdan kaldırın.
  3. Ayarlanırsa HTTP yanıtınızdaki Critical-CH üst bilgisinden Sec-CH-UA-Reduced öğesini kaldırın.

Kaynak denemesi ne kadar sürecek?

UA Azaltma kaynak denemesi en az altı ay boyunca sürecektir. Bu, yaklaşık altı Chrome dönüm noktasına denk gelir. Kaynak denemesi M95'te görünecek ve M101'de sona erecektir. Bu noktada Chrome, kısaltılmış Kullanıcı Aracısı dizesini kullanıma sunma planına göre aşamalı olarak gönderme işlemine devam etmeden önce kaynak denemesinden gelen geri bildirimi değerlendirir. Site daha uzun süreye ihtiyaç duyarsa sonraki bir desteği sonlandırma kaynak denemesine dahil olabilir. Böylece en az altı ay daha tüm UA dizesine erişebilir. Hazır olduğunda desteği sonlandırma denemesi hakkında daha fazla bilgi yayınlayacağız.

Kullanıcı aracısı kısaltma kaynak denemesiyle ilgili geri bildirimlerimi nasıl paylaşabilirim?

Sorunları veya geri bildirimleri UA Reduction GitHub deposuna gönderin.