Kontakt z pomocą

Odpowiadamy e-mailem, zwykle w ciągu dwóch dni.

Google reCAPTCHA sprawdza to zgłoszenie pod kątem nadużyć; dane trafiają do Google. Skrypt ładuje się dopiero po otwarciu formularza.

← Wszystkie wpisy

Licznik na stronę statyczną

Hosting statyczny po cichu stał się rozsądnym sposobem na umieszczenie małej strony w internecie. GitHub Pages, Codeberg Pages, Neocities albo po prostu folder plików na dowolnym tanim hostingu: żadnej bazy danych, żadnego języka po stronie serwera, niczego do aktualizowania, niczego, co dałoby się złamać.

Ma dokładnie jedną lukę. Nie ma logu serwera, który dałoby się przeczytać, ani sposobu na uruchomienie czegokolwiek, co liczyłoby na miejscu. Strona idzie w świat, a potem nie wiadomo, czy ktokolwiek przyszedł.

To dokładnie sytuacja, do której wymyślono licznik odwiedzin, i dlatego liczniki wcale nie są przestarzałe.

Co się robi

Fragment kodu ze strony statystyk trafia do własnego HTML, w miejscu, w którym ma się pojawić licznik. To cała procedura. Działa to dlatego, że licznik to obrazek i mały skrypt – dwie rzeczy, które dowolny hosting statyczny serwuje, nie wiedząc ani nie dbając o to, czym one są.

statyczny hostingfolder plików<img> · <script>nasz serwerliczenie, przechowywanie, wykresynic do instalacji, żadnej bazy do pilnowania, żadnego crona do zapomnienia

Liczenie odbywa się na naszym serwerze. Hosting statyczny pozostaje folderem plików.

Skrypt nie należy do repozytorium

To jedna rada, która uzasadnia istnienie całego tego wpisu, bo nawyki wyniesione ze stron statycznych ciągną mocno w drugą stronę. Umieszczanie zależności bezpośrednio w repozytorium (tzw. vendoring) to zwykle dobra praktyka – jest powtarzalne, przetrwa zniknięcie źródła i oszczędza jedno żądanie.

Tutaj jednak nie.

Skopiowany skrypt jest zamrożony w momencie, w którym go skopiowano. Robi to samo, co robił tamtego dnia, na zawsze, przy każdej wizycie, i nic, co ktokolwiek zrobi u źródła, do niego nie dotrze. To nie jest hipoteza: gdy w tym roku usunięto z licznika rozdzielczość ekranu, kopie starego skryptu wciąż ją wysyłały, a jedynym sposobem na zakończenie zbierania tej wartości było sprawienie, by serwer odrzucał ją od każdego, bez wyjątku.

To samo dotyczy poprawek bezpieczeństwa, zmian w tym, co jest wysyłane, i wszystkiego innego, co powinno dotrzeć do odwiedzających. Skrypt należy zlinkować. To jedno żądanie, które się cache'uje i pozostaje aktualne.

Co się dostaje, a czego nie

W komplecie są: liczba odwiedzających, dni, kraje, przeglądarki, domeny odsyłające, najczęściej odwiedzane strony oraz podgląd na żywo tego, kto jest teraz na stronie. Dla strony osobistej, strony projektu czy małej witryny sklepowej to zwykle wszystkie pytania, jakie w ogóle się pojawiają.

Nie ma analizy logów, bo nie ma żadnego logu. Nie ma niczego o żądaniach, które się nie powiodły, plikach zwracających błąd 404 ani o przepustowości łącza. Tam, gdzie to ważne, hosting statyczny od początku nie pasował do tego problemu.

Jeszcze jedna rzecz, która pasuje do stron statycznych

Nic tutaj nie wymaga konta. Nie ma rejestracji, nie ma hasła do przechowywania w repozytorium ani klucza, który mógłby wyciec w publicznym commicie – a to akurat kategoria wypadków, które projektom opartym na stronach statycznych zdarzają się wyjątkowo często.

Reklama