Neden Bütün Tarayıcılar Kendini Mozilla Olarak Tanıtır: İnterneti Şekillendiren Bir Yalanın Tarihi

Bölüm 1: Masumiyetin Sonu ve Büyük Tarayıcı Savaşı

Web’in ilk günlerinde, her şey çok daha basit ve dürüsttü. Tim Berners-Lee tarafından yaratılan ilk tarayıcı olan WorldWideWeb, sunuculara kimliğini basitçe bildiriyordu. Sunucular bu bilgiyi, hangi yazılımın kendi içeriklerine eriştiğini takip etmek için istatistiksel bir veri olarak kullanıyordu. Bu ilk “User-Agent” (Kullanıcı Aracısı) dizeleri, “WorldWideWeb/0.9” gibi neyse o olan, yalın ifadelerdi. Ardından, web’i popüler hale getiren ilk grafiksel tarayıcı olan NCSA Mosaic ortaya çıktı. Onun User-Agent dizesi de benzer şekilde dürüsttü: “NCSA_Mosaic/2.0 (Windows 3.1)”. Bu dizede bir hile, bir aldatmaca yoktu; sadece tarayıcının adı, sürümü ve çalıştığı işletim sistemi hakkında temel bilgiler yer alıyordu. O dönemde web siteleri o kadar basitti ki, hangi tarayıcının siteyi ziyaret ettiğinin içerik sunumu açısından neredeyse hiçbir önemi yoktu. Herkes aynı basit HTML’yi alıyordu.

Ancak bu masumiyet dönemi, 1994 yılında Netscape Communications Corporation’ın sahneye çıkmasıyla sona erdi. NCSA Mosaic’in baş geliştiricisi Marc Andreessen’in de aralarında bulunduğu bir grup dahi, Mosaic’ten çok daha hızlı, daha yetenekli ve daha güçlü bir tarayıcı yaratmak için bir araya geldi. Bu yeni tarayıcının kod adı “Mozilla” idi. Bu isim, bir şakadan doğmuştu: “Mosaic Killer” (Mosaic Katili) ifadesinin birleşiminden oluşuyordu ve aynı zamanda “Godzilla” canavarına bir göndermeydi. Netscape ekibi, kendi tarayıcılarının mevcut pazar lideri Mosaic’i ezip geçeceğine inanıyordu ve bu agresif kod adı, onların bu hırsını yansıtıyordu. Netscape Navigator olarak piyasaya sürülen bu tarayıcı, web’de bir devrim yarattı. Sadece daha hızlı olmakla kalmadı, aynı zamanda o zamana kadar var olmayan yeni ve heyecan verici HTML etiketlerini de destekliyordu.

Bu yeniliklerden en önemlisi ve hikayemizin kilit noktası, “çerçeveler” (frames) idi. Çerçeveler, bir web sayfasını birden çok bağımsız, kaydırılabilir bölüme ayırmaya olanak tanıyordu. Örneğin, bir sitenin sol tarafında sabit bir gezinme menüsü varken, sağ taraftaki ana içerik alanı kendi içinde kaydırılabiliyordu. Bu, o zamanlar için devrimsel bir tasarımdı ve web geliştiricileri bu özelliği hemen benimsedi. Ancak bir sorun vardı: Bu özelliği sadece Netscape Navigator destekliyordu. NCSA Mosaic veya diğer ilkel tarayıcılar, çerçeveleri nasıl işleyeceklerini bilmiyorlardı.

İşte bu noktada, User-Agent dizesi basit bir istatistik aracı olmaktan çıkıp, bir kapı anahtarı haline geldi. Web sunucusu sahipleri, sitelerinin en iyi şekilde görünmesini istiyorlardı. Bir ziyaretçi Netscape Navigator kullanıyorsa, ona çerçeveleri içeren zengin, gelişmiş site versiyonunu göndermek istiyorlardı. Eğer ziyaretçi çerçeveleri desteklemeyen başka bir tarayıcı kullanıyorsa, ona her şeyin tek bir sayfada olduğu daha basit, çerçevesiz versiyonu göndermek zorundaydılar. Peki, bir sunucu, gelen ziyaretçinin hangi tarayıcıyı kullandığını nasıl anlardı? Elbette User-Agent dizesini kontrol ederek.

Web geliştiricileri, sunucu taraflı kodlarında şöyle bir mantık kullanmaya başladılar: “Eğer gelen isteğin User-Agent dizesi ‘Mozilla’ ile başlıyorsa, bu bir Netscape Navigator’dır. O halde ona çerçeveli sayfayı gönder. Eğer başka bir şeyle başlıyorsa, ona basit sayfayı gönder.” Bu basit kontrol, web’in geleceğini sonsuza dek değiştirecek bir domino etkisini başlattı. Netscape’in User-Agent dizesi, “Mozilla/1.0 (Win3.1)” gibi bir formattaydı. “Mozilla” kelimesi, artık sadece bir kod adı değil, “Ben modern, yetenekli bir tarayıcıyım ve en yeni web teknolojilerini destekliyorum” anlamına gelen bir parola, bir kimlik beyanı olmuştu.

Bu sırada, teknoloji dünyasının devi Microsoft, internetin yükselişini başlangıçta hafife almış, hatta bir tehdit olarak görmemişti. Ancak Netscape Navigator’ın akıl almaz bir hızla yayılması ve web’in bir platform haline gelme potansiyeli, Bill Gates ve ekibini uykularından uyandırdı. Microsoft, “Internet Tidal Wave” (İnternet Tsunami Dalgası) adını verdikleri ünlü iç yazışmayla birlikte tüm stratejisini değiştirdi ve interneti fethetmeye karar verdi. Bu savaşın ilk silahı, Internet Explorer (IE) adını verdikleri kendi tarayıcıları olacaktı.

Internet Explorer 1.0 ve 2.0 piyasaya sürüldüğünde, teknik olarak Netscape’in oldukça gerisindeydiler. En önemlisi, çerçeveleri desteklemiyorlardı. Dürüst bir şekilde, kendi User-Agent dizelerini “Microsoft Internet Explorer/2.0” gibi bir şey olarak belirlediler. Ancak bu dürüstlük onlara pahalıya patladı. Web sunucuları, bu yeni tarayıcıyı gördüklerinde, User-Agent dizesinin “Mozilla” ile başlamadığını fark ettiler. Sunucudaki kod, basitçe, “Bu Netscape değil, o halde çerçeveleri desteklemiyordur” diye düşündü ve IE’ye web sitelerinin en ilkel, en basit, çerçevesiz versiyonlarını gönderdi. Sonuç olarak, Internet Explorer kullanan bir kişi, web’de gezinirken sürekli olarak “kırık” veya “eski” görünen sitelerle karşılaşıyordu. Sorun IE’nin sayfayı kötü çizmesi değildi; sorun, IE’ye en baştan itibaren “kötü” sayfanın servis edilmesiydi. Microsoft, kendi tarayıcısının yeteneklerini sergileme şansı bile bulamadan, web’in kapısında kalmıştı. “Mozilla” parolasını bilmeyen bir yabancı gibiydi.

Microsoft için bu durum bir felaketti. Dünyanın en büyük yazılım şirketi, yeni ve stratejik bir pazarda küçük bir başlangıç şirketi tarafından dışlanıyordu. Savaş alanında rekabet edebilmek için bir şeyler yapmaları gerekiyordu. Ve yaptıkları şey, web tarihinin en kurnazca ve en etkili aldatmacalarından biri oldu. Eğer web sunucuları sadece “Mozilla” kelimesini duymak istiyorsa, Microsoft onlara duymak istedikleri şeyi verecekti.

Internet Explorer 3.0’ın piyasaya sürülmesiyle birlikte, Microsoft devrimsel bir adım attı. Bu yeni sürüm, Netscape ile rekabet edebilecek düzeydeydi; çerçeveleri, CSS’in ilk versiyonlarını ve JScript adını verdikleri kendi JavaScript yorumlayıcılarını destekliyordu. Artık teknik olarak “gelişmiş” siteleri gösterebilecek güce sahipti. Ama sunucuları buna nasıl ikna edeceklerdi? Cevap, User-Agent dizesini bir Truva Atı gibi kullanmaktı.

Internet Explorer 3.0’ın User-Agent dizesi şu şekilde değiştirildi: “Mozilla/2.0 (compatible; MSIE 3.0; Windows 95)”. Bu dize, bir dijital şaheserdir ve web’in bugünkü karmaşık yapısının temelini atar. Gelin bu dizeyi parçalara ayıralım ve ne anlama geldiğini inceleyelim.

Dize, “Mozilla/2.0” ile başlıyordu. Bu, sunucuya gönderilen ilk ve en önemli mesajdı. “Merhaba sunucu! Ben ‘Mozilla’ ailesinden bir tarayıcıyım. Bana güvenebilirsin. Bana en iyi içeriğini, o güzel çerçevelerini, en gelişmiş kodlarını gönder. Ben onları anlarım.” Bu, web’in VIP salonuna girmek için gereken parolaydı. Sunucuların basit “if user_agent starts with ‘Mozilla'” kontrolü artık başarıyla geçiliyordu. Microsoft, kapıyı kırmıştı.

Ancak dize burada bitmiyordu. Parantez içindeki kısım, işin asıl kimliğini ortaya koyuyordu: “(compatible; MSIE 3.0; Windows 95)”. Bu bölümün anlamı şuydu: “Evet, ben Mozilla uyumluyum (‘compatible’), ama aslında (‘actually’) ben Microsoft Internet Explorer sürüm 3.0’ım (‘MSIE 3.0’) ve Windows 95 üzerinde çalışıyorum.” Bu ek bilgi, iki amaca hizmet ediyordu. Birincisi, istatistiksel olarak Microsoft’un pazar payını takip etmesine olanak tanıyordu. İkincisi, çok daha gelişmiş web sunucularının, gelen isteğin aslında IE olduğunu anlamasını ve belki de IE’ye özgü bazı hataları gidermek veya IE’ye özel özellikleri kullanmak için farklı bir kod göndermesini sağlıyordu.

Bu strateji inanılmaz derecede başarılı oldu. Internet Explorer, bir anda web’in “birinci sınıf vatandaşı” haline geldi. Artık en gelişmiş siteleri alabildiği ve genellikle Netscape’ten daha hızlı çalışabildiği için kullanıcılar arasında hızla popülerlik kazanmaya başladı. Microsoft’un bu hamlesi, “Tarayıcı Savaşları”nı tam anlamıyla başlattı. Artık iki dev, web standartlarını kimin belirleyeceği konusunda acımasız bir rekabete girmişti. Her iki taraf da W3C (World Wide Web Consortium) gibi standart belirleyici kurumları pek umursamadan, kendi özel HTML etiketlerini ve JavaScript özelliklerini geliştirmeye başladı. Netscape’in <blink> etiketine karşılık Microsoft <marquee> etiketini çıkardı. Netscape’in document.layers nesnesine karşılık Microsoft document.all nesnesini yarattı.

Bu dönem, web geliştiricileri için bir kabusa dönüştü. Bir site yapmak için iki farklı versiyon kodlamak zorunda kalıyorlardı. Hem Netscape’te hem de IE’de düzgün çalışan bir site yaratmak, sayısız “eğer o tarayıcıysa şunu yap, bu tarayıcıysa bunu yap” koşuluyla dolu, karmaşık ve kırılgan kodlar yazmayı gerektiriyordu. Ve bu kontrollerin çoğu, yine User-Agent dizesinin analiz edilmesine dayanıyordu.

Savaşın sonunda Microsoft, ezici bir zafer kazandı. Internet Explorer’ı Windows işletim sistemine ücretsiz olarak entegre etmesi, Netscape’in ticari modelini yok etti ve IE’nin pazar payını %90’ların üzerine çıkardı. Netscape yavaş yavaş tarih sahnesinden silindi.

Ancak Microsoft’un zaferinin ironik bir sonucu vardı. “Mozilla” parolasını kullanarak kazandıkları bu savaş, “Mozilla” kelimesini web’in altyapısına sonsuza dek kazımıştı. Milyonlarca web sitesi, on binlerce sunucu ve sayısız web uygulaması, “gelişmiş içeriği” sunmak için User-Agent dizesinin “Mozilla” ile başlaması gerektiği varsayımı üzerine kodlanmıştı. Internet Explorer, dünyadaki en baskın tarayıcı olmasına rağmen, kendisini “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)” gibi dizelerle tanıtmaya devam etmek zorundaydı. Eğer bir gün bu “Mozilla” taklidi yapmaktan vazgeçip sadece “MSIE 7.0” gibi dürüst bir kimlik kullansalardı, internetin büyük bir kısmı bir anda onlar için “kırılırdı”. Tıpkı IE 2.0 günlerinde olduğu gibi, yine en basit, en ilkel içeriklerle baş başa kalırlardı.

Böylece, birinci tarayıcı savaşının sonunda, web’in temel bir kuralı ortaya çıkmıştı: Eğer internette var olmak ve ciddiye alınmak istiyorsan, kim olursan ol, User-Agent dizenin “Mozilla” ile başlamalıdır. Bu, Netscape’in icat ettiği, Microsoft’un hayatta kalmak için benimsediği ve sonunda tüm interneti rehin alan bir gelenekti. Netscape ölmüş olabilirdi, ancak onun hayaleti, “Mozilla”, her bir HTTP isteğinin içinde yaşamaya devam ediyordu. Bu, sadece bir başlangıçtı. Savaş bitmiş, sular durulmuş gibi görünse de, Netscape’in küllerinden doğacak yeni bir tarayıcı ve onu takip edecek olan yeni nesil tarayıcılar, bu zaten karmaşık olan User-Agent mirasını çok daha tuhaf ve içinden çıkılmaz bir hale getirecekti. Bu yeni dönem, hikayemizin ikinci bölümünün konusunu oluşturacaktır.

Bölüm 2: Küllerinden Doğan Anka Kuşu ve Yalanın Mirası

Birinci Tarayıcı Savaşı’nın sonunda, dijital savaş alanı sessizliğe bürünmüştü. Netscape Navigator’ın enkazı hala tütüyordu ve Microsoft’un Internet Explorer’ı, özellikle de kötü şöhretli Internet Explorer 6 (IE6), web’in tartışmasız kralı olarak tahtına oturmuştu. Pazar payı %95’in üzerine çıkmıştı. Bu, Microsoft için mutlak bir zaferdi, ancak web için karanlık bir dönemin başlangıcıydı. Tek bir oyuncunun neredeyse tam bir tekele sahip olması, inovasyonun durması anlamına geliyordu. Microsoft, savaşı kazandıktan sonra tarayıcı geliştirmeye yatırım yapmayı büyük ölçüde durdurdu. IE6, yıllarca önemli bir güncelleme almadan kaldı; güvenlik açıklarıyla doluydu, modern web standartlarını desteklemekte acizdi ve web geliştiricilerinin hayatını kabusa çeviren kendine özgü sayısız hataya (quirks) sahipti.

Ancak Microsoft’sın fethettiği bu imparatorluğun temelinde, kendilerinin başlattığı o garip gelenek yatıyordu: Internet Explorer, ezici üstünlüğüne rağmen, her bir sunucuya kendini “Mozilla” olarak tanıtmaya devam etmek zorundaydı. “Mozilla/4.0 (compatible; MSIE 6.0;…)” dizesi, internetin her köşesinde yankılanan bir zafer ilanı değil, aslında bir bağımlılık beyanıydı. Web’in altyapısı, bu yalana o kadar alışmıştı ki, kral bile onu terk edemiyordu. “Mozilla”, artık Netscape’in hayaleti değil, web’e giriş için gereken evrensel bir pasaport, bir tür dijital vize haline gelmişti.

Tam da bu durgunluk ve tekelcilik ortamında, beklenmedik bir şey oldu. Netscape, ölmeden hemen önce, son bir umutsuz hamleyle geleceği için bir tohum ekmişti. Şirket, Navigator tarayıcısının kaynak kodunu açık kaynaklı hale getirmiş ve “Mozilla Organization” adında yeni, bağımsız bir organizasyonun yönetimine devretmişti. Bu, “Eğer biz kazanamıyorsak, belki dünyanın dört bir yanından gelen gönüllü geliştiriciler ordusu kazanabilir” demek gibi bir şeydi.

Bu projenin ilk meyveleri pek umut verici değildi. “Mozilla Application Suite” olarak bilinen yazılım, Netscape’in eski kod tabanının tüm karmaşıklığını ve yavaşlığını miras almıştı. Bir tarayıcı, bir e-posta istemcisi, bir HTML düzenleyici ve daha birçok özelliği tek bir devasa pakette birleştirmeye çalışıyordu. Hantaldı, yavaştı ve ortalama bir kullanıcı için fazla karmaşıktı. Ancak bu projenin içinde, her şeyi değiştirecek bir mücevher vardı: “Gecko” adında yepyeni, sıfırdan yazılmış bir render motoru. Gecko, dönemin web standartlarına (HTML, CSS, DOM) IE6’dan çok daha sadık kalacak şekilde tasarlanmıştı. Hızlı, esnek ve güçlüydü.

Mozilla projesindeki bir grup vizyoner geliştirici, geleceğin büyük, her işi yapan uygulama paketlerinde değil, sadece tek bir işi – web’de gezinmeyi – mükemmel yapan, yalın, hızlı ve kullanıcı dostu programlarda olduğuna inanıyordu. Bu fikirle, Mozilla Application Suite’in devasa kod yığınını bir kenara bırakıp, sadece Gecko motorunu temel alan bağımsız bir tarayıcı projesi başlattılar. Bu yeni projenin adı başlangıçta “Phoenix” (Anka Kuşu) idi; küllerinden yeniden doğan Netscape’in ruhunu mükemmel bir şekilde simgeliyordu. Yasal sorunlar nedeniyle adı önce “Firebird”, sonra da kalıcı olarak “Firefox” olarak değiştirildi.

2004 yılında Firefox 1.0 piyasaya sürüldüğünde, teknoloji dünyasında bir şok dalgası yarattı. IE6’nın yıllardır getiremediği yenilikleri sunuyordu: sekmeli gezinti (birden çok web sayfasını tek bir pencerede açma), pop-up engelleyici, daha iyi güvenlik ve en önemlisi, web standartlarına çok daha iyi uyum. Hızlıydı, özelleştirilebilirdi ve açık kaynaklıydı. Kullanıcılar yavaş yavaş IE6’nın prangalarından kurtulup Firefox’a geçmeye başladı. İkinci Tarayıcı Savaşı sessizce başlamıştı.

Peki, bu yeni ve cesur tarayıcı, bu gerçek “Mozilla” soyundan gelen varis, sunuculara kendini nasıl tanıtacaktı? Firefox, Netscape’in gerçek halefiydi. “Mozilla” adını en çok hak eden oydu. Ancak basitçe “Firefox/1.0” diyemezdi. Eğer öyle yapsaydı, tarih tekerrür ederdi. Tıpkı Internet Explorer 2.0’ın başına geldiği gibi, “Mozilla” ile başlamadığı için web’in büyük bir kısmı tarafından dışlanacak, en basit ve çerçevesiz sitelerle baş başa kalacaktı. Ironik bir şekilde, Netscape’in mirasını devam ettirebilmek için, Netscape’in en büyük düşmanının başlattığı aldatmacayı sürdürmek zorundaydı.

Firefox’un geliştiricileri, zekice bir çözüm buldular. User-Agent dizeleri şöyle bir yapıya büründü: “Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20041107 Firefox/1.0”. Bu dize, önceki nesil dizelerden çok daha fazla bilgi taşıyan, yoğun bir metindi.

  • “Mozilla/5.0”: Bu en kritik kısımdı. “Mozilla/4.0”, Netscape Navigator 4.x serisi ve ona uyumlu olduğunu iddia eden IE tarafından kullanılıyordu. Firefox, “Ben o eski nesil değilim. Ben yeni nesil, daha yetenekli bir Mozilla’yım” demek için versiyon numarasını “5.0” olarak belirledi. Bu, web’e “Bana en modern kodunu gönder, çünkü ben ‘Mozilla’nın bir sonraki evrimiyim” mesajıydı. “Mozilla/5.0” böylece yeni standart parola haline geldi.
  • (Platform bilgileri): Bu kısım, işletim sistemi ve dil gibi standart bilgileri içeriyordu.
  • “Gecko/20041107”: Bu, Firefox’un kalbini ve ruhunu ilan ettiği yerdi. “Benim render motorum Gecko’dur ve bu onun derlendiği tarihtir. Ben standartlara uyarım, IE gibi özel kodlarla çalışmam.” Bu, web geliştiricilerine yönelik bir sinyaldi. Sadece “Mozilla” kontrolü yapan basit siteler ilk kısmı görüp mutlu olurken, daha akıllı siteler “Gecko” kelimesini arayarak bunun gerçekten standartlara uyumlu bir tarayıcı olduğunu anlayabilir ve ona göre CSS ve JavaScript kodu gönderebilirdi.
  • “Firefox/1.0”: Ve son olarak, en sonda, gerçek kimliğini fısıldıyordu: “Tüm bu rollerin ve uyumluluk katmanlarının altında, ben aslında Firefox’um.”

Firefox’un User-Agent stratejisi, Microsoft’un stratejisinin bir evrimiydi. Sadece hayatta kalmak için değil, aynı zamanda kimliğini ve teknik üstünlüğünü (Gecko motoru) de beyan etmek için tasarlanmıştı.

Firefox’un yükselişi devam ederken, sahneye yeni ve güçlü bir oyuncu daha çıktı: Apple. Yıllarca Mac’lerde Internet Explorer’ı varsayılan tarayıcı olarak sunduktan sonra Steve Jobs, kendi tarayıcılarını yapma zamanının geldiğine karar verdi. Bu tarayıcının adı Safari olacaktı. Apple, sıfırdan bir render motoru yazmak yerine, Linux dünyasından gelen açık kaynaklı KHTML projesini temel alıp onu büyük ölçüde geliştirerek “WebKit” adını verdikleri kendi motorlarını yarattılar.

Safari 2003’te piyasaya sürüldüğünde, aynı User-Agent problemiyle karşılaştı. Eğer kendini “Safari/1.0” olarak tanıtsaydı, web’in büyük bir bölümü için görünmez olacaktı. O da “Mozilla” pasaportunu kullanmak zorundaydı. Ama hangi pasaportu? O dönemde web sunucuları, modern içeriği sunmak için ya genel “Mozilla” kelimesini ya da daha spesifik olarak Firefox’un kullandığı “Gecko” kelimesini arıyordu. Safari, Gecko motorunu kullanmıyordu ama Gecko’nun render ettiği gibi modern ve standartlara uygun sayfaları render edebiliyordu.

Apple mühendisleri, tarihin belki de en tuhaf ve en kurnazca User-Agent dizesini yarattılar: “Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/124 (KHTML, like Gecko) Safari/125.1”.

Bu dize, aldatmacanın katmanlarını bir üst seviyeye taşıyordu:

  • “Mozilla/5.0”: “Giriş yapabilir miyim? Parola: Mozilla 5.0.” Bu, artık standart bir prosedürdü.
  • “AppleWebKit/124”: “Benim motorum AppleWebKit. Bu benim teknik kimliğim.”
  • “(KHTML, like Gecko)”: İşte bu, dizenin en dahiyane ve en absürt kısmıdır. Apple burada sunuculara adeta yalvarıyordu: “Bakın, biliyorum, benim motorum KHTML tabanlı, ama sonuçları itibarıyla Gecko’ya çok benziyor (‘like Gecko’). Lütfen, Firefox’a gönderdiğiniz o güzel, standartlara uygun CSS ve JavaScript kodunu bana da gönderin. Söz veriyorum, onu düzgün bir şekilde gösterebilirim.” Bu, bir bilgisayar programının, başka bir programa benzemek için ricada bulunmasıydı. Web’in ne kadar kırılgan ve keyfi kurallar üzerine inşa edildiğinin canlı bir kanıtıydı.
  • “Safari/125.1”: “Ve evet, tüm bunlardan sonra, benim asıl adım Safari.”

Artık elimizde şöyle bir durum vardı: Microsoft’un IE’si, Netscape’in hayaleti olan Mozilla’yı taklit ediyordu. Firefox, Netscape’in gerçek varisi olarak bu yeni “Mozilla/5.0” kimliğini sahipleniyordu. Ve Apple’ın Safari’si, hem Mozilla’yı taklit ediyor hem de Firefox’un motoruna benzediğini iddia ediyordu. User-Agent dizesi, artık basit bir kimlik kartı değil, karmaşık bir diplomatik belge, bir hayatta kalma manifestosu haline gelmişti.

Ancak bu karmaşa daha da artacaktı. 2008 yılında, internet devi Google, kendi tarayıcısı olan Chrome ile savaşa dahil oldu. Google, Safari’nin kullandığı açık kaynaklı WebKit motorunu alıp kendi V8 JavaScript motoruyla birleştirerek inanılmaz derecede hızlı bir tarayıcı yarattı. Chrome piyasaya çıktığında, web geliştiricileri arasında hızla popüler oldu.

Peki Chrome’un User-Agent dizesi ne olacaktı? Tahmin etmek zor değil. Chrome, WebKit motorunu kullandığı için, Safari için tasarlanmış web sitelerinde sorunsuz çalışmak istiyordu. Bu siteler, User-Agent dizesinde “Safari” kelimesini arıyor olabilirdi. Aynı zamanda, Firefox için tasarlanmış sitelerde çalışmak istiyordu, bu yüzden “like Gecko” ifadesine de ihtiyacı vardı. Ve tabii ki, her şeyden önce, internete girebilmek için “Mozilla/5.0” pasaportuna ihtiyacı vardı.

Sonuç olarak, bugün bildiğimiz ve kullandığımız o meşhur, neredeyse komik User-Agent dizesi ortaya çıktı: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36”.

Bu dize, Tarayıcı Savaşları’nın yaşayan bir arkeolojik katmanıdır. Onu deşifre edelim:

  1. “Mozilla/5.0”: Her şeyin başlangıcı. Netscape’in kod adı, IE’nin hayatta kalma aracı, Firefox’un miras iddiası ve şimdi de tüm modern tarayıcılar için evrensel giriş bileti.
  2. “AppleWebKit/537.36”: “Ben WebKit motorunu kullanıyorum.” Bu, Chrome’un Safari ile olan akrabalığını belirtir.
  3. “(KHTML, like Gecko)”: Safari’den miras kalan o meşhur yalan. “Ben Gecko gibi davranabilirim, bana modern kodları gönder.”
  4. “Chrome/108.0.0.0”: “Aslında ben Chrome’um.” Tarayıcının gerçek kimliği.
  5. “Safari/537.36”: Ve işte son darbe. “Eğer özellikle WebKit’e özel bir şey göndereceksen ve kodun ‘Safari’ kelimesini arıyorsa, sorun değil, ben aynı zamanda Safari’yim de.” Chrome, sadece Safari’ye benzediğini değil, Safari olduğunu da iddia ediyordu, sırf uyumluluk adına.

Bu, bir Rus matruşka bebeği gibidir: Chrome, Safari’yi taklit eder; Safari, Gecko’ya benzediğini iddia eder; hepsi birden, aslında Netscape’in eski bir kod adı olan “Mozilla” kimliğine bürünür.

Bu hikayedeki son perde, bir zamanların yenilikçi tarayıcısı Opera ve hatta Microsoft’un kendisi tarafından oynandı. Opera, yıllarca “Presto” adını verdikleri kendi motoruyla mücadele etti. Ancak tek başına bir render motoru geliştirmenin ve web’in karmaşıklığıyla başa çıkmanın maliyeti ve zorluğu karşısında pes etti. Opera, WebKit’in Google tarafından çatallanmış hali olan “Blink” motoruna geçti. Geçiş yapar yapmaz, User-Agent dizesi de Chrome’unkine neredeyse tıpatıp benzeyen bir hale geldi, sadece sonuna bir “OPR/sürüm” etiketi eklendi.

En büyük ironi ise Microsoft’tan geldi. Yıllarca IE ile web’i domine eden ve bu “Mozilla” taklidi oyununu başlatan şirket, en sonunda IE’yi terk edip yerine Edge tarayıcısını çıkardı. Edge bile başlangıçta kendini “Chrome” ve “Safari” gibi tanıtan karmaşık bir User-Agent dizesi kullandı. Sonunda Microsoft, tamamen teslim oldu ve Edge tarayıcısını, Chrome ile aynı motor olan Chromium (Blink) üzerinde yeniden inşa etti. Bugün, Microsoft Edge’in User-Agent dizesi, Chrome’un dizesinin neredeyse bir kopyasıdır, sadece sonunda “Edg/sürüm” etiketi bulunur. Başlangıçtaki taklitçi, on yıllar sonra taklit ettiğinin taklitçisini taklit ederek tam bir döngüyü tamamlamıştı.

Sonuç olarak, neden bütün tarayıcılar kendilerini Mozilla olarak tanıtıyor? Çünkü ilk tarayıcı savaşında Netscape “Mozilla”, “modern tarayıcı” anlamına gelen bir parola yarattı. Microsoft, hayatta kalabilmek için bu parolayı çaldı. Bu hırsızlık o kadar başarılı oldu ki, çaldıkları parola web’in altyapısının ayrılmaz bir parçası haline geldi. Daha sonra gelen her tarayıcı (Firefox, Safari, Chrome, Opera, Edge), var olabilmek için bu yalana katılmak zorunda kaldı ve her biri, kendi uyumluluk ihtiyaçları için bu yalanın üzerine yeni katmanlar ekledi.

Bugün “User-Agent sniffing” (tarayıcıyı kimliğinden tanımaya çalışma) pratiği, yerini “feature detection” (bir özelliğin tarayıcıda olup olmadığını kontrol etme) gibi daha modern tekniklere bırakmıştır. Ancak milyonlarca eski web sitesi, kurumsal intranet uygulaması ve basit script, hala bu eski ve ilkel “Eğer ‘Mozilla’ ise…” kontrolünü yapmaktadır. Bu yüzden, bu dijital fosil, bu 90’lardan kalma garip gelenek, HTTP başlıklarının içinde yaşamaya devam ediyor. Bu, internetin nasıl organik, kaotik ve çoğu zaman mantıksız bir şekilde büyüdüğünün, geçmişteki savaşların izlerinin bugünün teknolojisini nasıl şekillendirdiğinin ve bazen en kalıcı sistemlerin en dürüst olanlar değil, hayatta kalmayı başaran yalanlar üzerine kurulduğunun mükemmel bir öyküsüdür. Netscape ölmüş olabilir, ama onun hayaleti Mozilla, hepimizin kullandığı tarayıcıların ruhunda sonsuza dek yaşamaktadır.

Yorum bırakın

Scroll to Top