2010-08-05 21 views
10

Beh, questo mi spaventa. Ho usato uno strumento di controllo Http Header per controllare le intestazioni della mia pagina Web e indovinate un po '. in ogni richiesta la risposta è stata 302 invece di 200.Il sito restituisce 302 anziché 200

domain.con 
www.domain.con 
http://www.domain.con 

Così, mi sto perdendo qualcosa qui? Non ho inserito alcun reindirizzamento in alcun modo.

Quindi dove re # $% il mio sito Web reindirizza? C'è un buco di sicurezza?

UPDATE: Mentre googling trovato this one

+1

Dai un'occhiata all'intestazione Location nella risposta, se presente. – Ivo

risposta

6

domain.com non è lo stesso di www.domain.com - che è un reindirizzamento.

+0

Credo di capirlo, ma entrambi non dovrebbero restituire 200? – OrElse

+0

Il reindirizzamento restituirà un 302 (reindirizzamento), l'ultimo dovrebbe restituire un 200. – Oded

+0

Bene, dovrebbe ma NON lo è. Restituisce anche 302. – OrElse

0

È possibile che tu abbia dimenticato di aggiungere una barra finale alla fine del tuo URL. La maggior parte dei server Web ti reindirizzerà alla posizione "canonica" che include la barra. Se includi la barra, potresti ottenere la risposta che stai cercando.

+1

La risposta è stata ancora una volta 302. – OrElse

4

Forse un caso di questo:

302 Trovato

Questo è il codice di reindirizzamento più popolare, ma anche un esempio di pratica industriale contraddire lo standard. La specifica HTTP/1.0 (RFC 1945) richiedeva al client di eseguire un reindirizzamento temporaneo (la frase descrittiva originale era "Spostata temporaneamente"), ma i browser più diffusi implementavano 302 con la funzionalità di un 303 Vedere Altro. Pertanto, HTTP/1.1 ha aggiunto i codici di stato 303 e 307 per distinguere tra i due comportamenti. Tuttavia, la maggior parte delle applicazioni Web e dei quadri ancora utilizzare il codice 302 di stato come se fosse il 303.

303 See Altro (dal HTTP/1.1)

La risposta alla richiesta può essere trovata sotto un altro URI usando un metodo GET. Quando viene ricevuto in risposta a un PUT, si deve presumere che il server abbia ricevuto i dati e che il reindirizzamento debba essere emesso con un messaggio GET separato.

http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

0

Si sta utilizzando l'autenticazione di moduli? e la pagina di accesso è una pagina diversa dalla pagina predefinita che dice auth.aspx? Se questo è il caso, il codice 302 verrà sempre e la pagina verrà reindirizzata alla pagina di accesso.

6

Si sta ottenendo questo perché .net/IIS reindirizza il tuo www.dominio.com o dominio.com a www.domain.com/default.aspx, in modo da ottenere un'intestazione con 302 e poi uno per 200. Penso questo è di design ma molto confuso.

+0

Questa risposta dovrebbe essere un commento. – MuhammadHani

+0

Perché questa è una risposta? – Anthony

Problemi correlati