Wiele widziałem, a ja po prostu nie wiem, co to znaczy. To na przykład:

<script src="http://server.com/file.js?y=2345678" type="text/javascript"></script>

Jeśli jest to możliwe, aby "złapać" wartość "Y" w pliku JavaScript, jak by to było?

Dziękuję Ci.

Ps. Wiem, co jest mod_rewrite i to nie jest odpowiedź, na wszelki wypadek :)

4
Aerozeek 27 wrzesień 2012, 10:17

3 odpowiedzi

Najlepsza odpowiedź

Jest to często używane do ułatwienia buforowania pliku JS. Ustawiasz nagłówek daleko Expires, co oznacza, że przeglądarka może ją pamięć przez bardzo długi czas. Jeśli zmienisz coś w pliku zaktualizować numer w QueryString, który sprawi, że przeglądarka pobierająca plik. Działa to, ponieważ buforowanie służy do unikalnych nazw plików, a QueryString jest częścią nazwy pliku (jeśli chodzi o przeglądarkę).

Podobne podejście do tego jest użycie reguł przepisywania na serwerze WWW, aby mieć część nazwy pliku, na której się dbasz. Oto reguła Nginx, aby pokazać, co mam na myśli:

rewrite ^/style\..*\.css$ /style.css;

Używam tej reguły, aby mieć nazwy plików jak style.42750cad6.css, które zawsze wskazują na plik style.css. Tekst w środku zmienia się, gdy zmieniam style.css. Różnica między pierwszym podejściem jest to, że nie używa tego queryString, więc buforowanie będzie działać w więcej przeglądarek.

2
Emil Vikström 27 wrzesień 2012, 06:27

Ma to na celu zmuszenie przeglądarki nie do pamięci podręcznej pliku, uwierzając, że jest to dynamiczny plik z parametrem, a nie statycznym.

5
3on 27 wrzesień 2012, 06:18

Po drodze widzę go na dwa sposoby.

  1. Może być używany do załadowania JS bez buforowania
  2. Dla każdego żądania serwera serwer może zalogować informacje (jeśli można włączyć rejestrowanie), jeśli używam go do analityki, mogę zatem użyć innego parametru do lokalizacji i z dziennika mogę analizować i uzyskać wymagane szczegóły.
1
Chandra Sekhar Walajapet 27 wrzesień 2012, 06:28