Dziwne API, które zmieniły internet – i co nam mówią o podejmowaniu decyzji technicznych

Cze 22, 2026 web-development browser-apis history-api frontend-development backward-compatibility single-page-applications javascript web-standards developer-experience

Kto wymyślił ten bezsensowny parametr w API?

Zagrajmy w prostą grę: wymień najdziwniejsze API w przeglądarce.

Jeśli siedzisz w frontendzie, pewnie od razu pomyślałeś o canPlayType(). Ta metoda zwraca albo pusty string, albo "probably", albo "maybe" — odpowiedź jak z wróżbity w cyrku.

Ale jest inne API, które pokazuje, jak bardzo web zależy mu na kompatybilności wstecznej. Chodzi o History.pushState().

Wywołujesz je z trzema parametrami: state, title i url. State ma sens — pozwala przywrócić dane po kliknięciu wstecz. URL też jest przydatny — zmienia adres w pasku bez przeładowania strony.

A ten title? Jest kompletnie ignorowany. Wszystkie major przeglądarki go porzucają.

Więc czemu w ogóle powstał?

W 2008 roku, gdy History API było projektowane, ktoś wpadł na pomysł, że przeglądarki powinny pozwalać ustawiać własny tytuł dla każdego wpisu w historii. Brzmiało rozsądnie — twoja aplikacja mogłaby wyświetlać "Dashboard", a w historii przeglądarki zapisywałoby się "Raport Analytics".

Pomysł wyglądał nieźle na papierze. Ale przeglądarki szybko zrozumiały, że to generuje chaos. Co się stanie, gdy użytkownik doda stronę do zakładek, a tytuł nie zgadza się z tym, co widzi w karcie?

Zamiast się z tym męczyć, producenci przeglądarek po prostu zaczęli ignorować ten parametr. Problem w tym, że w tym czasie tysiące stron już zbudowało swoje aplikacje zakładające trzy parametry. Usunięcie go zepsułoby produkcyjne serwisy. Zrobienie go opcjonalnym wprowadziłoby zamieszanie w istniejących wywołaniach pushState(state, url).

Więc specyfikacja zrobiła coś eleganckiego: przemianowała parametr na unused i jasno napisała, że nie ma żadnego efektu.

To jest brudna tajemnica weba — priorytetyzujemy kompatybilność wsteczną ponad prawie wszystkim. Web zrobi wszystko, żeby kod z 2008 roku nadal działał w dzisiejszych przeglądarkach.

Ta filozofia to dokładnie powód, dla którego w NameOcean promujemy statyczne strony i sprawdzone technologie webowe. Gdy budujesz coś, co ma przetrwać — archiwum mediów, dokumentację, landing page — stabilność vanilla web technologii nie jest ograniczeniem. To funkcja.

Ten sam sposób myślenia sprawdza się przy wyborze rejestratora domen czy dostawcy hostingu. Chcesz firm, które rozumieją długą grę. Web ниgidzie nie idzie, więc technologie, na których budujesz dziś, powinny działać za dekadę.

Jest tu lekcja dla developerów i startupów: czasem "zła" decyzja staje się permanentna nie dlatego, że jest dobra, ale dlatego, że zbyt wiele od niej zależy. To nie bug w webie — to feature, który utrzymuje miliony stron przy życiu.

Następnym razem, gdy natkniesz się na dziwne API czy deprecated parametr, pamiętaj: ktoś gdzieś podjął decyzję lata temu i teraz jest wpisana w fundament webu. Szanuj tę dziwność. Dzięki niej wszystko działa.

Read in other languages:

PT NB NL HU IT FR ES DE DA ZH-HANS EN