Protokole dayalı URL'ler ile tanışın
resim bulunamadi Modajenik.com'u hazırlarken, HTTP 1.1 RFC 2616'daki " A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy"den dolayı, CDN kullanma kararı aldık.

Resimler, http://img.modajenik.com, stil dosyalarını http://css.modajenik.com, JavaScript dosyalarını da http://js.modajenik.com'dan gelecek şekilde ayarlamıştık.

http://modajenik.com üzerinden yapılan isteklerde hiçbir sorun yoktu. Taa ki URL şeması, bazı sayfalarda (ödeme sayfası) https olarak değişene dek.

View helper'larımız sayesinde, markup içinden yapılan istekler, cdn'leri de https ile çağıracak şekilde değişmişti ancak büyük bir sorunumuz vardı.

css.modajenik.com/ içindeki css dosyalarındaki resim yolları http://img.modajenik.com'u gösteriyordu. Https sayfadan, http bir içeriğe istek yapılınca da "Bu sayfa güvenli değil" uyarısı alıyorduk tarayıcılardan.

Tam "N'apalım, https://css.modajenik.com'daki css'ler için bir sed -e 's/http/https/' çalıştıracağız, başka çaremiz yok" derken, 6-7 ay önce okuduğum bir belge aklıma geldi.

Tekrar okuduk ve RFC 3986 ile aslında sorunumuzun çok daha basit bir çözümü olduğunu öğrendik. Sitedeki http:// veya https:// olan tüm şemaları // olarak değiştirerek huzura erdik.

Artık CDN'lerimiz //css.modajenik.com gibi adresler olurken, css içindeki resim yolları da //img.modajenik.com/resim.png gibi değişmişti. Artık tarayıcı "Bu site güvenli olmayan kaynaklara istek yapıyor, bu site güvensiz!" demiyordu.

Ama tabii, Explorer'ın olduğu şu fani dünyada her şey bu kadar da yolunda gitmeyecekti. Şuradaki belgeye göre, css'leri markup'a koymak için kullandığımız <link> etiketinde, protokole dayalı URL kullandığımızda, Explorer 7 ve 8, css dosyalarını 2'şer kez indiriyormuş(âla). Explorer'a tekrardan saygılarımızı sunup, <link> içindeki yolu, yazdığımız view helper ile http veya https olarak değiştirdik, ancak css dosyalarının içeriğindeki resim yollarına dokunmadık.

Bu sayede birçok şey kazanmış olduk
1) Her, http: veya https: yazdığımızda harcayacağımız, 5-6 byte'lık bandwithten tasaruff etmiş olduk :)
2) <link> etiketinde zorunlu olarak yaptığımız "URL şemasını oku, URL'i ona göre üret" için yazdığımız view helper'ın, tüm resim, css ve javascript dosyaları için her çalışmasında harcayacağımız işlemci gücücünden tasaruf ettik.
3) Üstteki 2 maddededn daha önemli olan ise, https için ayrı, http için ayrı css dosyaları üretmek, bunları maintain etmek zorunda kalmadık.

Bunu da tarihe not düştük :)

16.Mart.2011 Çarşamba :: 20:53:02   61983 kere okundu

Konular
Ben {122}
Sinema {24}
php/web {44}
Link {58}
Debian {26}
Opera {39}
Müzik {70}
KDE {7}
Qt {12}

[Konular]


Takvim
<  Kasım 2024  >
PSÇPCCtPz
123
45678910
11121314151617
18192021222324
252627282930


Temalar
dx
darksight
yesilozAskerEdition
yellos
uira
default
opera
greeny
xmas
yesiloz
yesilozHtml5

Es Dost
Altan
Tuğrul
Selçuk
Timu
Mehmet
Ünal
Gökhan
Koray Taylan
Yaşar
Özgür
Orhan
Kemali
Ahmet
Emrah
Kıvanç
BilgiFrekans
Bünyamin
Bedava Site

Gez Gör Arpacık
Opera Türkiye
Uira
Ma"Cess"teleri


Projeler
Beedon
sozluQ
qPod
SourPHP
Ekşigator
Ekşigator-qt
Soccer Madness