Qual è la differenza tra 301 e 302 in HTTP?


9

Vedo tutti i piccoli siti come i siti 302

Ma qual è la differenza? Sembra che entrambi stiano funzionando per me

Risposte:


12

Uno stato 301 (spostato in modo permanente) indica che la risorsa è stata spostata in modo permanente in una nuova posizione. Il client (browser) dovrebbe utilizzare la nuova posizione anziché quella vecchia in futuro.

Uno stato 302 (trovato) indica che la risorsa si trova temporaneamente altrove. Il client dovrebbe utilizzare la posizione indicata per la richiesta corrente, ma in futuro dovrebbe continuare a utilizzare la posizione precedente.

Entrambi i codici di stato avranno l'effetto di far seguire al reindirizzamento il browser. È necessario scegliere di utilizzare uno stato 301 o 302 a seconda che il reindirizzamento sia permanente o temporaneo.

Ulteriori informazioni su questi codici di risposta HTTP sono disponibili in RFC 2616 .


Cosa succede se desidero annullare 301? È fuori controllo poiché non viene più utilizzato?
vps

@vps È possibile annullare il reindirizzamento 301, ma non è garantito che il client richieda nuovamente l'URL originale. Se vuoi essere in grado di annullare il reindirizzamento in futuro, allora potresti essere meglio di usare un 302.
Phil Ross

3

Quando uno spider del motore di ricerca trova 301 codice di stato nell'intestazione della risposta di una pagina Web, capisce che questa pagina Web non esiste più, cerca l'intestazione della posizione in risposta, seleziona il nuovo URL e sostituisce l'URL indicizzato con quello nuovo e trasferisce anche pagerank .

Quindi il motore di ricerca aggiorna tutto l'URL indicizzato che non esiste più (301 sono stati trovati) con il nuovo URL, questo manterrà il tuo vecchio traffico di pagine Web, pagerank e lo trasferirà a quello nuovo (non perderai il traffico della vecchia pagina Web).

Browser: se un browser rileva il codice di stato 301, memorizza nella cache la mappatura del vecchio URL con il nuovo URL, il client / browser non tenterà di richiedere la posizione originale ma utilizzerà la nuova posizione da ora in poi fino alla rimozione della cache.

Quando lo spider del motore di ricerca trova lo stato 302 per una pagina Web, reindirizzerà temporaneamente alla nuova posizione e eseguirà la ricerca per indicizzazione di entrambe le pagine, l'URL della pagina Web precedente esiste ancora nel database del motore di ricerca e tenta sempre di richiedere la posizione precedente e di eseguirne la scansione, il client / browser tenterà comunque di richiedere la posizione originale.

Leggi di più su come implementarlo in asp.net c # e come è l'impatto nel motore di ricerca - http://www.dotnetbull.com/2013/08/301-permanent-vs-302-temporary-status-code- aspnet-csharp-Implementation.html


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.