![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
Moderatore
Data di registrazione: May 2006
Ubicazione: Varese
Messaggi: 1,271
|
Nuovi messaggi e status code 301
Buondì,
ho notato che alcuni forum vb, quando eseguono la query "nuovi messaggi", aka "do=getnew", rispondono con uno status code 302 e poi reindirizzano verso una pagina contenente i risultati. Ad ogni richiesta di "nuovi messaggi", visto il 302, il browser riesegue la richiesta "do=getnew" presso il server, se nulla è cambiato ritorna la stessa pagina di prima. Fin qui tutto bene, se non che alcuni forum mi ritornano 301, impedendo di fatto al browser di richiedere "do=getnew", che si limita a fare quello che gli è stato detto, ovvero richiama la pagina a cui era stato reindirizzato. Lasciando cadere il discorso di cambiare il browser, qual'è la modifica da apportare a vb perchè ad una richiesta "do=getnew" risponda 302 (come il forum GT) e non 301? Ringrazio ![]() |
|
|
|
|
|
|
|
#3 (permalink) |
|
Moderatore
Data di registrazione: May 2006
Ubicazione: Varese
Messaggi: 1,271
|
In pratica, da quello che ho capito, è una funzione interna di VB.
Facendo search.php?do=getnew il sistema automaticamente risponde con un redirect 301 verso search.php?searchid=XXXXX. (lo si può guardare con live http headers) Alcuni forum, direi tutti, anziché lo status 301 inviano lo status 302 (ad esempio forumgt), quindi suppongo sia qualche cosa da modificare nel codice (vBulletin Versione 3.5.6), ma non trovo nulla in rete se non discussioni di utenti che brontolano e di admin che dicono di aver cambiato lo status code a 302. La domanda è, come si fa? ![]() |
|
|
|
|
|
#5 (permalink) |
|
Moderatore
Data di registrazione: May 2006
Ubicazione: Varese
Messaggi: 1,271
|
Provo a dettagliare:
GET /search.php?do=getnew HTTP/1.1 Host: NOMEHOST User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9 GTB6 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: it-it,it;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://NOMEHOST/ HTTP/1.1 301 Moved Permanently Date: Wed, 14 Apr 2010 12:03:20 GMT Server: Apache/2.0.46 (Red Hat) Accept-Ranges: bytes X-Powered-By: PHP/4.3.2 Expires: 0 Cache-Control: private, post-check=0, pre-check=0, max-age=0 Pragma: no-cache Location: http://NOMEHOST/search.php?searchid=882599 Content-Length: 0 Connection: close Content-Type: text/html; charset=UTF-8 Questo è il processo della GETNEW, come si vede risponde un 301 verso un'altra pagina. Io vorrei sostituire questo 301 con il 302. Spero sia più chiaro. (se si guarda con live http headers il forum GT, di vede il 302 al posto del 301). |
|
|
|
|
|
#7 (permalink) |
|
Moderatore
Data di registrazione: May 2006
Ubicazione: Varese
Messaggi: 1,271
|
Provo a rispiegare empiricamene.
Apro un browser su un forum vb, ad esempio questo ![]() Mi loggo e clicco sul pulsante "Nuovi messaggi" che chiama questa pagina "search.php?do=getnew". La risposta del server, ovviamente legata al funzione di vbullettin è la risposta che vedi loggata sopra, ovvero risponde così: La pagina che cerchi è 301, spostata permanentemente a "search.php?searchid=882599" A quel punto il browser richiede la pagina "search.php?searchid=882599" che viene visualizzata. Magari non ti eri mai accorto di questo "funzionamento". Ora il mio problema è capire com'è possibile che questo forum (e quasi tutti gli altri forum) risponda un 302, ovvero spostato temporaneamente alle richieste verso getnew, mentre il mio risponde 301. Non sono pagine che sposto io, ma è proprio l'iter di generazione della lista "nuovi messaggi". |
|
|
|