2011-12-27 18 views

risposta

32

spedizioni è fatto senza lasciare cliente sa che, che viene usato per fare la comunicazione interna sul server, mentre in reindirizzamento stiamo chiedendo cliente tornare indietro e chiedere che qui.


esempio di vita reale

Inoltro

Sei andato a PostOffice ci sono il numero di scatole e persona seduta lì, ora uno di loro accetta la richiesta e l'inoltra internamente ad altri responsabili persona per soddisfare la richiesta e alla fine del processo si otterrà il risultato

Reindirizzamento

ora la stessa persona ti dà un token che dice goto window no5 e chiede a quella persona.

anche vedere

+0

eccellente risposta con l'esempio di vita reale lo porta al punto. Pollice su! –

3

fowarding accade sul lato server. il server inoltra una richiesta ad un'altra pagina e lascia che quella pagina la gestisca.

giochi di reindirizzamento tra server e client. il server restituisce al client un codice HTTP (che non ha in mente ora) che gli dice di creare una nuova richiesta GET per la pagina reindirizzata, ciò avviene senza alcuna interazione dell'utente.

4

Leggi this wikipedia article, che lo spiega molto chiaramente.

Un inoltro trasferisce semplicemente la responsabilità di una singola gestione della richiesta a un nuovo componente server-dide (esempio: servlet -> JSP). Un reindirizzamento chiede al browser di inviare una nuova richiesta quando una prima è stata parzialmente gestita (esempio: crea prodotto -> reindirizza alla lista dei prodotti).

Il pattern di post-redirect-get, che è spiegato nell'articolo di wikipedia, spiega quando e perché un reindirizzamento è preferibile.

+0

È buona pratica generale eseguire un reindirizzamento dopo aver inviato correttamente un modulo ma inoltrare un invio non riuscito (ad es. La convalida non è stata superata)? – theyuv

1

Inoltra è trasparente per il browser.

Reindirizzare non lo è. Implica il browser che carica un secondo URL. Quindi suppongo che questo sia un po 'più lento.

Vedi here per ulteriori informazioni