2010. április 20., kedd

Minden idők legrövidebb bugfixe

Az, hogy egy site-unkon elérhető statikus tartalmak URL-je kis/nagybetű érzékeny-e (case sensitive) vagy sem, a webszervertől, illetve az alatta futó OS-től függ. A /Folder/MyImage.jpg és a /folder/myimage.jpg Windows/IIS alatt jó eséllyel ugyanazt a fájlt jelöli, Linux/Apache alatt pedig két különbözőt (bár annak se jósolok vidám, gondtalan jövőt, aki Linux, vagy más case sensitive fájlrendszert használó OS alatt csak casingben eltértő fájl-struktúrát épít, de teoretikusan működhet).
Így aztán, ha Windows/IIS alatt futtatjuk a szájtunk, akkor nyugodtan használhatjuk akármilyen casinggel a fájlneveinket.

Már ha a magunk ellenségei vagyunk.
Ha egy oldalon belül ugyanaz a grafikai elemet többször is felhasználjük (ikonok, lekerekítések, stb), akkor a browser csak egy HTTP requestet küld az adott képért - amennyiben a képek URL-je kis/nagybetűhelyesen megegyezik. A kliens browsere ugyanis nyilván nem fogja tudni, hogy a túloldali kiszolgáló case sensitive vagy sem, és a MyImage ugyanazt fogja-e jelenteni neki, mint a myimage. Ha nem szeretnénk ugyanazt az adatot többször megutaztatni, sem a beeső HTTP requestek számát duzzasztani, használjunk konzisztens casinget! Ha nagy forgalmú a site-unk, valószínű egyiket sem szeretnénk.

A poszt apropója, hogy én is belefutottam most az issue-ba - szerencsére könnyű volt javítani, így becsekkoltam valószű minden idők legkisebb bugfixét: a komplett changelist annyi, hogy egyetlen fájlban egyetlen betű változott. Nagyról kicsire.

1 megjegyzés:

  1. Tipikus, kijavítani könnyű, ha az ember fél óra pislogás után rájön, hogy mi nem jó :)

    VálaszTörlés