HTTP-viestit koostuvat pelkästä ASCII-tekstistä. Viesti sisältää otsikon ja datan rungon. Viestin otsikko on käyttäytymisyksikkö, ja jokainen rivi päättyy CRLF:ään (carriage return and rivbreak). HTTP-pyyntö:
Esimerkkejä ovat seuraavat:
GET/sample.jspHTTP/1.1
Accept:image/gif.image/jpeg,*/*
Accept-Language:zh-cn
Connection:Keep-Alive
Host:localhost
User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
Accept-Encoding:gzip,deflate
käyttäjänimi=jinqiao&password=1234 RequestMethod: OPTIONS,, POST, PUT, DELETE, TRACE ja CONNECT.
GET-pyyntö saadakseen Request-URI:n tunnistaman resurssin POST lisää uutta dataa Request-URI:n tunnistaman resurssin jälkeen HEAD-pyyntö saadakseen Request-URI:n tunnistaman resurssin vastausviestin otsikon PUT-pyyntöpalvelin tallentaa resurssin ja käyttää Request-URI:ta tunnisteenaan DELETE Pyyntöpalvelin poistaa resurssin, jonka request-URI on tunnistanut TRACE-pyyntöpalvelin palauttaa vastaanotetut pyyntötiedot, joita käytetään pääasiassa testaukseen tai diagnostiikkaan CONNECT on varattu tulevaa käyttöä varten OPTIONS pyytää kyselyä palvelimen suorituskyvystä tai resurssiin liittyvistä vaihtoehdoista ja vaatimuksista
User-Agent: Asiakkaan selaintiedot. Connection:close tarkoittaa, että käytetään lyhyttä yhteyttä, ja Keep-Alive tarkoittaa, että asiakas tukee pysyviä yhteyksiä. Päivämäärä: Nykyinen aika, jolloin viesti luotiin. Accept-Language: Asiakasohjelman tukema kieli. Välimuistin hallinta: Tukeeko asiakas välimuistia. no-cache tarkoittaa, että asiakas ei tue välimuistia, kuten max-age=3600, kertoo User Agentille, kuinka kauan pyynnön vastaustulos on voimassa, ja voimassaoloaikana, kun käyttäjä tarvitsee pääsyn uudelleen, se voidaan poimia suoraan asiakkaalta paikallisesti ilman tarvetta käyttää palvelinta. Referer: Referer kertoo palvelimelle, mistä URL-osoitteesta pyyntö tulee, ja sitä voidaan käyttää käyttäjän verkkokäyttöreitin seuraamiseen.
If-Modified-Since: 如果请求消息包含If-Modified-Since标题 域,GET方法的语法就变成“条件GET”,即“(conditional GET)”。 条件GET方法可以对指定资源进行判断,如果它在If-Modified-Since标题域中的指定日期后发生了更新,才启动传输,否则不传输。这种条件 GET允许被缓存的实体在不必经过多次请求或不必要的数据传输就能进行刷新,从而有助于降低网络负载。
Last-Modified: Sun, 03 Dec 2008 23:52:56 GMT
ETag: “1cbf3-dfd-3a2adcd8″ Yleensä sitä käytetään tiedostojen latauksissa tunnistamaan vastaussisällön viimeinen muokkausaika tai sisältö on paremmin varmennettu, ja kun seuraava käyttäjäagentti tarvitsee sitä, palvelu ensin määrittää, ovatko nämä kaksi arvoa samat kuin palvelimella, eikä niiden tarvitse palauttaa sisältöä. Vanhenee: Milloin pyynnön vastauksen tulos vanhenee, ja ennen kuin se vanhenee, agentti voi palauttaa edellisen vastauksen suoraan välimuistista. Isäntä: Määrittää pyytävän resurssin isäntä- ja porttinumeron. HTTP/1.1-pyynnöissä on määriteltävä Host, muuten palvelin palauttaa 400-statuskoodin.
http-vastaus: Esimerkkejä ovat seuraavat: HTTP/1.1 200 OK
Date: Mon, 04 May 2015 04:47:13 GMT
Server: Apache
Cache-Control: max-age=0
Expires: Mon, 04 May 2015 04:47:13 GMT
Vary: Accept-Encoding,User-Agent
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html;charset=utf-8
X-Pad: avoid browser bug
Tilarivi sisältää: HTTP-protokollan versionumeron, tilakoodin ja tilakoodin tekstikuvauksen. Esimerkiksi: HTTP/1.1 200 OK Tilakoodi koostuu kolminumeroisesta numerosta, ja tilakoodilla on noin viisi merkitystä: 1. 1xx。 Tiedot, pyyntö vastaanotettu, jatka käsittelyä. 2. 2xx。 Onnistuminen. 200 pyyntöä onnistuu; 206 Breakpoint jatkui. 3. 3xx。 Uudelleenohjaus. Yleensä hyppää uuteen osoitteeseen. 4. 4xx。 Asiakasvirhe. 404-tiedostoja ei ole olemassa 5. 5xx。 Palvelinvirhe. 500 sisäistä virhettä.
Set-Cookie: Palvelin asettaa asiakaspuolen evästeen. Asetusmuoto on name=value, ja kun asetetaan useita parametreja, keskimmäinen on erotettu puolipisteellä. Set-Cookie käyttää myös useita parametreja: PATH asettaa kelvollisen polun, DOMAIN määrittää verkkotunnuksen, jossa eväste astuu voimaan, Expire määrittää evästeen voimassaoloajan, ja 0 tarkoittaa, että eväste vanhenee, kun selain suljetaan. locatio{filter}n: Tämä parametri toteuttaa uudelleenohjauksen, kun palvelin palauttaa 3xx-uudelleenohjauksen. Tätä protokollaa käytetään mainoslinkkien hyppyyn. Content-Length: Lisäosan pituus (data-entiteetti). |