Patryk Mikel

Patryk Mikel Student,
Politechnika Śląska
w Gliwicach

Temat: Kod po znaku zapytania do pliku css

Witam,
Czy ktoś może wytłumaczyć co robi ten kod po pytajniku do pliku CSS i czy jest on zgodny ze standardami?

Przykład:

<link rel="stylesheet" href="screen.css?7753526925" media="screenn" type="text/css" />
Krzysztof Safjanowski

Krzysztof Safjanowski Senior JavaScript
Lead Developer

Temat: Kod po znaku zapytania do pliku css

Zapewnia, że będzie ściągana aktualna wersja pliku CSS.

Tak, jest zgodny ze standardami. CSS może być parsowany przez jakiś język server-side – może to być także metoda na przekazanie zmiennych do arkusza stylów.

konto usunięte

Temat: Kod po znaku zapytania do pliku css

Patryk Mikel:
Czy ktoś może wytłumaczyć co robi ten kod po pytajniku do pliku CSS
Jest a raczej może to być sposób na walkę z cache przeglądarki. Przeglądarka cache'uje na podstawie URLa.
Dodając własny suffix do statycznego contentu - czyli CSS, JS - mamy gwarancję na to, że wraz z upgrade site i automatycznym podbiciem numeru żadna przeglądarka nie użyje wersji z cache. A to się zdarza powodując spore zamieszanie i praktycznie kompletną niemożność debugowania problemu, który pojawia się na przeglądarce klienta.

konto usunięte

Temat: Kod po znaku zapytania do pliku css

maciek kański:

Czyli te numerki na nic nie wpływają? Tzn jedynie ukazują która wersja css jest najnowsza?
Krzysztof Safjanowski

Krzysztof Safjanowski Senior JavaScript
Lead Developer

Temat: Kod po znaku zapytania do pliku css

Bartłomiej S.:
maciek kański:

Czyli te numerki na nic nie wpływają? Tzn jedynie ukazują która wersja css jest najnowsza?

W większości przypadków nie mają wpływu na zawartość pliku CSS.
Ale mogą mieć wpływ: http://net.tutsplus.com/tutorials/html-css-techniques/...

konto usunięte

Temat: Kod po znaku zapytania do pliku css

Bartłomiej S.:
Czyli te numerki na nic nie wpływają? Tzn jedynie ukazują która wersja css jest najnowsza?
Wszystko co po znaku ? jest do interpretacji po stronie serwera. To zależy od developera/admina co i jak obsługuje. Ponieważ normalnie koduje się informacje w postaci jakis_adres.php?zmienna1=value1&zmienna2=value2 to wywnioskowałem, że przy przekazaniu surowej cyfry ?7753526925 pełni ona rolę serial numberu bo trudno tutaj się dopatrzeć jakiejś zmiennej, ale trzeba by spytać developera/admina co dokładnie chciał osiągnąć, ja się tylko domyślam.

Generalnie patrząc z zewnątrz nigdy nie wiemy, czy dany content - tutaj CSS - jest generowany dynamicznie czy nie. Oprócz query stringa można przecież zwrócić CSSa na podstawie nagłówków HTTP, np. User-Agent - nie wiem na ile to powszechne, ale możliwe. Wszystko zależy od autora serwisu.

konto usunięte

Temat: Kod po znaku zapytania do pliku css

Właśnie złapała mnie potrzeba praktyczna do zastosowania tego tricku. Obecnie generuję odnośniki do css'ów i js'ów w ten sposób:
/Content/Site.css?1.0.3677.34959
/Scripts/MyCompanyWeb.js?1.0.3677.34959

gdzie tajemnicze 1.0.3677.34959 to (mniej więcej) numer mojego builda. Po deployu site'a, który automatycznie podbija numer builda nie muszę się martwić o to, że jakiś użytkownik dostanie z cache'a swojej przeglądarki starą wersję Site.css lub MyCompanyWeb.js.
Szczegółowe rozwiązanie po stronie serwera zależy oczywiście od używanej platformy hostingowej (PHP, ASP, JSP itd.), ale dla klienta nie robi to różnicy.

Następna dyskusja:

Dobre zwyczaje w dokumentow...




Wyślij zaproszenie do