Domanda

Funziona in modo nativo php get_headers() scarica tutto il contenuto o interrompe il download dopo aver ricevuto l'intestazione?

È stato utile?

Soluzione 2

get_headers graps solo intestazione parte della risposta, e elimina la connessione.

entro in modalità interattiva utilizzando php -a emesso il comando:

php > print_r( get_headers('http://ftp.linux.org.tr/ubuntu-releases//maverick/ubuntu-10.10-desktop-i386.iso'));
Array
(
[0] => HTTP/1.1 200 OK
[1] => Date: Sat, 30 Oct 2010 23:33:12 GMT
[2] => Server: Apache/2.2.13 (FreeBSD)
[3] => Last-Modified: Thu, 07 Oct 2010 16:25:11 GMT
[4] => ETag: "c7e78fe-2b528000-492095688a7c0"
[5] => Accept-Ranges: bytes
[6] => Content-Length: 726827008
[7] => Connection: close
[8] => Content-Type: application/octet-stream
)

Questo ha richiesto meno di 1 sec. Dal momento che Chrome dice Ci sono voluti 1 giorno a scaricare Ubuntu, rispetto alla risposta 1 sec di get_headers, va raccogliere solo le intestazioni.

Altri suggerimenti

Non posso testarlo personalmente in questo momento, ma secondo questo commento nel manuale:

Se qualcuno è curioso, come lo ero io, questa funzione non invia un verbo HEAD.Invece invia un GET.Il che nel mio caso non è l'ideale perché ho bisogno di un modo rapido per ottenere uno stato HTTP (200, 404, ecc.). Il problema con GET è che, per casi come il mio, non voglio tutto il sovraccarico con i dati che ritorna.

infatti ogni volta viene trasmesso il corpo completo della risposta.

Prendilo con le pinze, ma visto che il manuale non menziona il HEAD metodo, penso che sia corretto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top