For det første fælles header-felt
1. Tilslutning
Dette felt findes kun i HTTP1.1 aftale.Den bestemmer klient og server til en session, er den server straks lukket ned netværksforbindelsen.Under udførelsen af klienten til at bruge den mest direkte læse-metoden (readline metoden er den samme) Klienten anmoder om Web læsning ressourcer, enten umiddelbart vende tilbage -1 (readline returnerer null).Der er to værdier af Connection: Luk og Keep-Alive Når du bruger Connection: Luk hvornår og HTTP1.0 aftale er den samme, når det læses data læses metode omgående tilbage, og bruge forbindelsen. Keep-Alive tid, læst metoder i læsningNår dataene skal være blokeret i et stykke tid.Læse data efter timeout, men fortsatte ned udførelsen.I den foregående artikel diskuteres readHttpResponse (... ...) metoden gennemførelsen af den første 011 linier for at kontrollere rolle Connection.Lad os gøre et eksperiment ved hjælp af HTTP simulator.
(1) indgang følgende HTTP simulator domænenavn:
www.baidu.com
(2) HTTP Simulator HTTP-anmodning til indtaste følgende oplysninger:
GET / HTTP/1.1
Host: www.baidu.com
(3) dobbelt vognretur (indtast en tom linje), sende anmodningen besked, og som vist i figur 1, HTTP-svar brevhoveder:
Figur 1
(4) efter input y eller Y (i displayet http respons header, skal du straks indtaste Y eller y), viser indholdet af svarmeddelelse.Efter den vise indholdet til ca 10 sekunder ind i "host: port " prompt (som i sendHttpRequest () gennemførelse af 004 linje kode til at læse data timeout sæt).
(5) i "host: port " prompten, tryk enter, indtast efternavnet anvendte www.baidu.com og 80 havne.Re-indtaste følgende HTTP-anmodning:
GET / HTTP/1.1
Host: www.baidu.com
Tilslutning: Luk
Efter indtastning af ovenstående HTTP-anmodning,-fornyet køre det første skridt 3,4.Endelig er indholdet af skærmen, når HTTP svarmeddelelse, direkte lige ind i "host: port " prompten.Ud over denne metode, kan du læse den første linje af anmodningen GET / HTTP/1.0. Dette kan ikke vente, exit.
Ved at indstille Connection, kan du hente Web ressourcer (f.eks multi-threaded downloade værktøjet, web browser, osv.), straks afbryde forbindelsen til netværket, der effektivt kan reducere kundens ressourceforbrug.
2. Date
Dato header felt beskriver anmodningen beskeder og svarmeddelelser er oprettet.Dette felt værdi er en HTTP-date type, skal det være i GMT (Greenwich) tid, GMT tid er GMT minus 8 timer.Her er et eksempel på feltet Dato:
Dato: Tue, 15 Nov 2007 08:12:31 GMT
3. Content-Length
Antallet af bytes angivne meddelelse enhed.POST-metoden i anmodningen budskab skal bruge Content-Length anmodning besked til det angivne antal bytes i virksomheden indholdet.Som svar på den meddelelse feltværdier er specificeret i HTTP-svaret returneres af den aktuelle webside ressourcer, antallet af bytes.
For det andet, HTTP anmodning header felt
1. Host
Host felt bruges til at angive de ressourcer tilgængelige for klienten værtsnavnet og portnummeret.Hvis portnummeret til at bruge ved tilslutning til serveren er lig med det portnummer, kan det portnummer udelades.Her er et eksempel ved hjælp af Host felt:
Host: www.sina.com.cn
Dette felt er nødvendig, hvis en HTTP-anmodning ikke indeholder dette felt, vil serveren returnere 400 (Bad Request) respons status.
2. Accepter
Accept header felt til at bestemme kunden kan modtage medietype.General format er "*/*" eller "type /" subtype. "Sub-afsnit i dette Hoved kan passere flere medietyper, adskilt af", "adskilt.Accepter, hvis følgende er et eksempel:
Accepter: image / gif, image / jpg
Hvis Accepter anmodningen header-felt værdi ved anvendelse af ovenstående, dynamisk server-side genereret sider i IMG, vil være den første hovedet, når billedet indeholder gif-format, hvis gif-billede ikke findes, indeholder jpg-format billeder.
3. User-Agent
Dette felt er først bruges til at angive, hvad kunden adgang til serveren, hvis det er IE6 browser, og enheden er installeret.netto 2,0, vil User-Agent har følgende værdier:
User-Agent: Mozilla/4.0 (
kompatible;
MSIE 6,0;
Windows NT 5,2;
SV1, Maxthon;
. NET CLR 1.1.4322;
. NET CLR 2.0.50727;
InfoPath.1; InfoPath.2)
Tjek serveren kan bruge dette felt version af browseren klienten, og at bestemme efter de forskellige versioner af data, der sendes til klienten.
4. Range
Range felt overføres kun via serveren del af det første web-ressourcer.Dette felt kan bruges til at implementere HTTP header funktion.Der er mange hente værktøjer er gennem dette felt i HTTP-headeren.Række felter kan indstilles i tre formater vifte af bytes, der skal indberettes:
(1) Rækkevidde: bytes = 1000-2000
Rækkevidde fra 1000 til 2000 bytes.
(2) Rækkevidde: bytes = 1000 -
Transport Web ressourcer efter de første 1000 bytes i alt indhold.
(3) Range bytes = 1000
Overfør de sidste 1000 bytes.
For det tredje, HTTP svarmeddelelse header felt
1. Accept-sortimenter
Dette felt viser, om web-serveren understøtter Range (om at støtte HTTP funktionalitet), hvis det understøttes, tilbagesendelse Accept-Ranges: bytes, hvis ikke støtte, at afkastet Accept-Ranges: ingen.
2. Content-Range
Tilbage til web-ressource angivne byte rækkevidde.Formatet af værdien af dette felt er:
Start byte holdning - slutningen af byte holdning / web ressourcer, det samlede antal bytes
Her er et eksempel på at bruge Content-Range:
Content-Range :1000-3000 / 5000
Test
Forbindelse til serveren i HTTP simulator files.cnblogs.com, og indtast følgende HTTP-anmodning besked:
GET / nokiaguy / HttpSimulator.rar HTTP/1.1
Host: files.cnblogs.com
Rækkevidde: bytes = 1000 -
Returneret svar header vist i figur 2:
Figur 2
Det kan ses fra serveren efter overførslen funktionen files.cnblogs.com støtte breakpoint.Men også at kontrollere Content-Length værdi er det aktuelle antal bytes i sessionen går forbi, ikke web-ressourcer, det samlede antal bytes.Content-Range feltværdier i "/" efterfulgt af antallet af web-ressourcer, er det samlede antal bytes.
3. Beliggenhed
Dette felt angiver den adresse, som den nye adgang til nye web-ressourcer.Når Web ressource udskiftning URL, og brugerne kan ikke fange op på nogle af de gamle og den nye webadresse, og derfor i den gamle brugere adgang til oprindelige URL, skal du bruge placering til den nye URL tilbage til klienten.Denne adresse oversættelse er helt transparent for brugeren.