Først felles header-feltet
En. Connection
Dette feltet finnes bare i HTTP1.1 avtalen.Det bestemmer klienten og serveren for en økt, er serveren umiddelbart stengt ned nettverksforbindelsen.I utførelsen av klienten er å bruke den mest direkte leste metode (readline metoden er den samme) kunde spør etter Web lesing ressurser, enten umiddelbart returnere -1 (readline returneres null).Det er to verdier av Connection: Close og Keep-Alive Når du bruker Connection: Lukk når og HTTP1.0 avtalen er det samme, når de leses lese data metoden returnerer umiddelbart, og bruke Connection:. Keep-Alive tid, les metoder i lesingNår dataene må være blokkert for en tid.Les dataene etter timeout, men fortsatte ned utførelsen.I den forrige artikkelen diskuteres readHttpResponse (... ...) metoden gjennomføringen av de første 011 linjene til å verifisere rolle Connection.La oss gjøre et eksperiment ved hjelp av HTTP simulator.
(1) inn følgende HTTP simulatoren domenenavn:
www.baidu.com
(2) HTTP Simulator HTTP-forespørsel til å skrive inn følgende informasjon:
GET / HTTP/1.1
Host: www.baidu.com
(3) doble vognretur (skriv inn en blank linje), send forespørsel meldingen, og som vist i Figur 1, HTTP-svaret meldingshodene:
Figur 1
(4) etter innspill y eller Y (i displayet http svaroverskrift, umiddelbart gå inn Y eller y), viser innholdet i svaret meldingen.Etter vise innholdet, til om lag 10 sekunder inn i "host: port "-ledeteksten (som i sendHttpRequest () gjennomføring av 004 linje med kode for å lese data timeout sett).
(5) i "host: port "-ledeteksten, trykk enter, skriv inn etternavnet brukte www.baidu.com og 80 porter.Tast følgende HTTP-forespørsel:
GET / HTTP/1.1
Host: www.baidu.com
Connection: lukke
Etter inn over HTTP-forespørsel, re-run første trinn 3,4.Til slutt, den vise innholdet i HTTP respons meldingen, direkte rett inn i "host: port "-ledeteksten.I tillegg til denne metoden, leste den første linjen av anmodningen GET / HTTP/1.0. Dette kan ikke vente, avslutter.
Ved å sette Connection, kan du laste ned Web ressurser (for eksempel multi-threaded laster ned verktøyet, nettleser, osv.), umiddelbart koble fra nettverket, noe som effektivt kan redusere kundens ressursforbruk.
2. Date
Dato header feltet beskriver forespørselen meldinger og svar meldinger er opprettet.Dette feltet verdien er en HTTP-dato type, må det være i GMT (Greenwich) tid, er GMT gang GMT minus 8 timer.Her er et eksempel av feltet Dato:
Dato: ti 15 november 2007 08:12:31 GMT
Tre. Content-Length
Antall byte angitte meldingen enhet.POST-metoden i anmodningen meldingen må bruke Content-Length melding om angitt antall byte i foretaket innholdet.Som svar til meldingsfeltet verdiene angitt i HTTP-svar returneres av gjeldende Web ressurser, antall byte.
Second, HTTP-forespørsel header-feltet
En. Host
Vert feltet brukes til å angi ressurser tilgjengelig for klienten vertsnavn og port nummer.Hvis portnummeret å bruke når du kobler til serveren er lik portnummeret, kan portnummeret utelates.Her er et eksempel ved hjelp av Host-feltet:
Host: www.sina.com.cn
Dette feltet er nødvendig, hvis HTTP-forespørselen ikke inneholder dette feltet, vil serveren returnere 400 (Bad Request) respons status.
2. Godta
Godta header-feltet for å bestemme klienten kan motta medietypen.General formatet er "*/*" eller "type /" subtype. "Sub-ledd i dette hodet kan passere flere medietyper, atskilt av", "skilt.Godta hvis følgende er et eksempel:
Godta:: image / gif, image / jpg
Hvis Godta forespørselstoppteksten feltverdi bruke det over, server-side dynamisk genererte sider i IMG blir det første hodet når bildet inneholder gif-format, hvis gif bildet ikke eksisterer, inneholder jpg-format bilder.
Tre. User-Agent
Dette feltet er først brukt til å spesifisere hva kunden tilgang til serveren, hvis det er IE6 nettleser, og enheten er installert.net 2.0, vil User-Agent har følgende verdier:
User-Agent: Mozilla/4.0 (
kompatibel;
MSIE 6.0;
Windows NT 5.2;
SV1, Maxthon;
. NET CLR 1.1.4322;
. NET CLR 2.0.50727;
InfoPath.1; InfoPath.2)
Sjekk serveren kan bruke dette feltet versjonen av nettleseren klienten, og til å bestemme i henhold til ulike versjoner av data som sendes til klienten.
4. Range
Range feltet overføres bare gjennom server delen av den første Web ressurser.Dette feltet kan brukes til å implementere HTTP header funksjon.Det er mange nedlasting verktøy er gjennom dette feltet i HTTP-hodet.Range felt kan stilles i tre formater utvalg av bytes som skal overføres:
(1) Range: bytes = 1000-2000
Rekkevidde 1000 til 2000 byte.
(2) Range: bytes = 1000 -
Transport Web ressurser etter den første 1000 byte av alt innhold.
(3) Range byte = 1000
Overfør de siste 1000 bytes.
Tredje, HTTP svarmelding header-feltet
En. Accept-Ranges
Dette feltet viser om webserveren støtter Range (om å støtte HTTP-funksjonalitet), hvis dette støttes, avkastningen Accept-Ranges: bytes, hvis ikke støtter, avkastningen Accept-Ranges: ingen.
2. Content-Range
Tilbake til Web ressursen angitte byte rekkevidde.Formatet på verdien av dette feltet er:
Start byte posisjon - slutten av byte stilling / Web ressurser, det totale antall bytes
Her er et eksempel på bruk av Content-Range:
Content-Range :1000-3000 / 5000
Test
Koble til serveren i HTTP-simulator files.cnblogs.com, og skriv inn følgende HTTP-forespørsel melding:
GET / nokiaguy / HttpSimulator.rar HTTP/1.1
Host: files.cnblogs.com
Range: bytes = 1000 -
Returnerte svaroverskrift vist i Figur 2:
Figur 2
Det kan sees fra serveren etter overføring funksjonen files.cnblogs.com støtte stoppunkt.Men også for å verifisere Content-Length verdi er nåværende antall bytes i sesjonen passerer over, ikke Web ressurser, det totale antall bytes.Content-Range feltverdier i "/" etterfulgt av antall Nettressurser er det totale antall bytes.
Tre. Plassering
Dette feltet angir adressen som den nye tilgangen til nye web-ressurser.Når Web ressursen utskifting URL, og brukere ikke kan ta igjen på noen av de gamle den nye URL, derfor, i den gamle brukerne tilgang til det opprinnelige URL, bruke Plassering til den nye nettadressen tilbake til klienten.Denne adressen oversettelsen er helt transparent for brukeren.