Sobes.tech
Junior

Jak przeglądarka rozumie, że musi przejść na inną stronę?

sobes.tech AI

Odpowiedź od AI

Przeglądarka rozumie, że musi przejść do innej strony głównie w następujący sposób:

  • Kliknięcie hiperłącza (<a>): Użytkownik klika element <a> z atrybutem href, wskazującym URL docelowej strony.
    <!-- Hiperłącze do innej strony -->
    <a href="inna_strona.html">Przejdź</a>
    
  • Wysyłanie formularza (<form>): Użytkownik wysyła formularz, korzystając z przycisku typu submit. Atrybuty action i method elementu <form> określają URL i metodę HTTP do wysłania danych i przekierowania.
    <!-- Wysyłanie formularza z przekierowaniem na inną stronę -->
    <form action="obsluga_formularza.php" method="post">
        <input type="text" name="dane">
        <button type="submit">Wyślij</button>
    </form>
    
  • JavaScript: Za pomocą JavaScript można programowo zmienić właściwość window.location.href lub użyć metod window.location.assign(), window.location.replace().
    // Przekierowanie za pomocą JavaScript
    window.location.href = "nowy_url.html";
    
    // Inny sposób przekierowania
    window.location.assign("inny_url.html");
    
    // Zamiana bieżącej strony w historii przeglądarki
    window.location.replace("ostatni_url.html");
    
  • Nagłówek HTTP Location: Serwer może wysłać odpowiedź HTTP z kodem statusu przekierowania (np. 301, 302, 303, 307, 308) i nagłówkiem Location, wskazującym URL do przekierowania. Przeglądarka automatycznie obsługuje takie odpowiedzi.
  • Meta-tag refresh: W sekcji <head> dokumentu HTML można użyć meta-tagu http-equiv="refresh" do automatycznego odświeżania strony lub przekierowania po określonej liczbie sekund.
    <!-- Automatyczne przekierowanie po 5 sekundach -->
    <meta http-equiv="refresh" content="5;url=cel_url.html">
    

Przeglądarka otrzymuje od serwera odpowiedź HTTP, analizuje jej nagłówki i ciało, i na podstawie otrzymanych informacji (np. kodu stanu 200 OK do załadowania nowej strony, kodu przekierowania z nagłówkiem Location) wykonuje odpowiednie działania.