|
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 |
|
|
Takvim |
|
|
< Kasım 2024 > |
P | S | Ç | P | C | Ct | Pz |
| | | | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
|
|
|
|
|
|