2009-10-01 15 views
7

Il mio sito web del motore delle app google sta ricevendo errori nell'URL principale per le richieste HEAD perché non le accetto. Secondo this, la richiesta HEAD è "testing hypertext links for validity, accessibility, and recent modification"Quando dovrei rispondere alle richieste HEAD HTTP sul mio sito web

Quale dovrebbe essere la risposta "normale" alle richieste HEAD?

Ho iniziato ad accettare richieste HEAD, per impedire la visualizzazione degli errori nei miei registri, ma solo sull'URL principale.

Qualcuno può indicarmi la giusta direzione?

risposta

7

Implementare il metodo head proprio come lo get (s), saltando semplicemente la scrittura del corpo. Dovresti farlo per ogni URL a cui puoi collegarti, proprio perché un controllore ben addestrato che convalida i link dovrebbe usare HEAD quando non ha bisogno del corpo.

semplice è spesso fattorizzare la funzionalità get un metodo ausiliario separato _foo che accetta un argomento booleano needbody - get chiama self._foo(True), head chiamate self._foo(False). _foo, se vede che l'argomento needbody è falso, può eseguire il salvataggio non appena ha generato tutte le intestazioni (e deve assicurarsi che non generi un corpo).

+5

Un'altra opzione, in webapp, consiste nel definire una classe base che implementa la testa chiamando self.get e cancellando il corpo. Ciò è inefficiente, ovviamente, ma consente di sovrascriverlo in modo più efficiente caso per caso. –

+0

@Nick Qual è il modo migliore per cancellare il corpo? –

+1

@Bryce 'self.response.clear()'. –

Problemi correlati