Sobes.tech
Junior

Come fa il browser a capire che deve passare a un'altra pagina?

sobes.tech AI

Risposta dell'AI

Il browser capisce che deve andare su un'altra pagina principalmente nei seguenti modi:

  • Clic sul collegamento ipertestuale (<a>): L'utente clicca su un elemento <a> con l'attributo href, che indica l'URL della pagina di destinazione.
    <!-- Collegamento ipertestuale a un'altra pagina -->
    <a href="altra_pagina.html">Vai</a>
    
  • Invio di un modulo (<form>): L'utente invia un modulo usando un pulsante di tipo submit. Gli attributi action e method del <form> determinano l'URL e il metodo HTTP per inviare i dati e fare il redirect.
    <!-- Invio di modulo con redirect a un'altra pagina -->
    <form action="elaboratore_form.php" method="post">
        <input type="text" name="dati">
        <button type="submit">Invia</button>
    </form>
    
  • JavaScript: Con JavaScript, si può modificare programmaticamente la proprietà window.location.href o usare i metodi window.location.assign(), window.location.replace().
    // Redirect con JavaScript
    window.location.href = "nuova_url.html";
    
    // Un altro metodo di redirect
    window.location.assign("altra_url.html");
    
    // Sostituisce la pagina corrente nella cronologia del browser
    window.location.replace("ultima_url.html");
    
  • Intestazione HTTP Location: Il server può inviare una risposta HTTP con un codice di stato di redirect (ad esempio, 301, 302, 303, 307, 308) e un'intestazione Location che indica l'URL di destinazione. Il browser gestisce automaticamente queste risposte.
  • Meta-tag refresh: Nella sezione <head> del documento HTML, si può usare il meta-tag http-equiv="refresh" per aggiornare automaticamente la pagina o fare un redirect dopo un certo numero di secondi.
    <!-- Redirect automatico dopo 5 secondi -->
    <meta http-equiv="refresh" content="5;url=destinazione_url.html">
    

Il browser riceve una risposta HTTP dal server, analizza gli header e il corpo, e in base alle informazioni ricevute (ad esempio, codice di stato 200 OK per caricare una nuova pagina, codice di redirect con l'intestazione Location) esegue le azioni appropriate.