HTTP
Internet- en netwerkprotokolle | |
---|---|
Toepassingvlak: | DNS FTP Gopher HTTP HTTPS IMAP IRC NNTP POP3 RTP SIP SMTP SNMP SSH SSL Telnet UUCP XMPP |
Versendvlak: | DCCPÂ SCTPÂ TCPÂ UDP |
Netwerkvlak: | ARPÂ ICMPÂ IGMPÂ IP(IPv4, IPv6)Â RARP |
Dataskakelvlak: | ATM Ethernet FDDI PPP Token ring Wi-Fi |
volgens die TCP/IP-model |
HTTP (hiperteksoordragprotokol[1]) is âÂÂn protokol wat gebruik word tydens die kommunikasie tussen âÂÂn webkliënt (meestal âÂÂn webblaaier) en âÂÂn webbediener. Die protokol word nie net op die Internet gebruik nie, maar ook op lokale netwerke (ons praat dan van âÂÂn intranet).
Die HTTP-protokol spesifiseer die versoeke (Engels: requests) wat 'n kliënt, byvoorbeeld âÂÂn webblaaier, aan die bediener kan stel asook die antwoorde (Engels: responses) wat âÂÂn webbediener kan terugstuur. Elke versoek bevat âÂÂn URL wat verwys na die webkomponent of âÂÂn statiese objek soos âÂÂn webbladsy wat versoek word.
HTTP-versoeke
âÂÂn HTTP-versoek bestaan uit âÂÂn metode, die URL, opskrifvelde (header fields) en uiteindelik die inhoud. âÂÂn Oorsig van die HTTP-versoek metodes:
- GET â Ontvang die dokument gespesifiseer deur die URL.
- HEAD â Ontvang slegs die opskrifte (headers) van die gevraagde dokument.
- POST â Versend data na die bediener.
- PUT â Vervang die dokument op die bediener met die versende data.
- DELETE â Verwyder die dokument.
- OPTIONS â Vra die moontlike opsies wat die webbediener ondersteun aan.
âÂÂn Volledige versoek, met opskrifvelde, lyk tipies as volg:
GET /wiki/Tuisblad HTTP/1.1 Host: af.wikipedia.org Connection: close User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3 Accept: text/xml,text/html,text/plain,image/png,image/jpeg,image/gif Accept-Charset: ISO-8859-1,utf-8 Keep-Alive: 300
HTTP-antwoorde
âÂÂn HTTP-antwoord bestaan uit âÂÂn resultaatkode, opskrifvelde (header fields) en âÂÂn boodskap. Die resultaatkode bestaan uit drie syfers, waarvan die eerste syfer die belangrikste is:
- 1xx: âÂÂn informele boodskap van die webbediener wat gevolg sal word deur meer data
- 2xx: âÂÂn boodskap van die bediener wat aandui dat die gevraagde aksie suksesvol voltooi is
- 3xx: âÂÂn aanstuur (redirect) na 'n ander URL
- 4xx: âÂÂn foutboodskap wat deur die kliënt (tipies âÂÂn webblaaier) veroorsaak is, soos âÂÂn verkeerde URL-tipe.
- 5xx: âÂÂn foutboodskap wat deur die webbediener veroorsaak is, soos 'n fout in âÂÂn CGI skrip
- 6xx: âÂÂn proksiefout het voorgekom
Die resultaat-kodes wat die meeste gebruik word is:
- 200 OK â Die gevraagde dokument is suksesvol aangestuur.
- 304 Not Modified â T.o.v. die weergawe in die kas is die bladsy nie gewysig nie.
- 403 Forbidden â Die gevraagde dokument mag nie bekyk word nie.
- 404 Not Found â Die gevraagde dokument bestaan nie.
- 405 Not Allowed â Die gebruiker is nie geregtig om die dokument te sien nie.
- 500 Internal Server Error â Die webbediener kon nie die gevraagde aksie uitvoer nie.
âÂÂn Antwoord op die bostaande navraag kan moontlik as volg uitsien:
HTTP/1.0 200 OK Date: Thu, 08 Apr 2004 18:24:33 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 X-Powered-By: PHP/4.3.4 Content-Language: af Content-Type: text/html; charset=iso-8859-1 X-Cache: MISS from wikipedia.org Connection: close Content Type: TEXT/HTML Content Length: 3'127 bytes (received) --- Die HTML-kode ---
Geskiedenis
Die oorspronklike HTTP weergawe, weergawe HTTP 1.0 vaar aanvanklik baie goed, maar met die ontploffing in populariteit van die Internet kom âÂÂn aantal tekortkominge aan die lig. Hierdie tekortkominge word in die volgende weergawe, weergawe HTTP 1.1 aangespreek. Vanaf ongeveer 1997 is die standaard op die Wêreldwye Web dan ook besig om te verskuif vanaf HTTP 1.0 na HTTP 1.1.
Een van die belangrikste beperkinge van HTTP 1.0 was dat elke IP-adres slegs 1 domein kon huisves. Vanweë die enorme groei in die aantal WWW-domeine, sou dit baie gou tot âÂÂn tekort aan IP-adresse gelei het. HTTP 1.1 ondersteun die huisvesting van meer as 1 domein op dieselfde IP-adres. Andere belangrike toevoegings in HTTP 1.1 wat poog om spoed en werkverrigting te verhoog:
- ondersteuning van âÂÂn kas (cache)
- die verbinding word nie noodwendig na elke antwoord, soos in HTTP 1.0, verbreek nie (sogenaamde persistent connections)
- die moontlikheid om (dinamies gegenereerde) bladsye gedeeltelik te versend. Hierdeur kan met die versending van die eerste deel begin word voordat die hele bladsy gegenereer is, selfs voordat dit bekend is hoe lank die bladsy uiteindelik sal wees.
Die tegniese details van die HTTP-protokol is opgeteken in verskillende RFCâÂÂs. HTTP weergawe 1.0 is gedokumenteer in RFC 1945, terwyl weergawe 1.1 van die protokol in RFC 2616 beskryf word. Hierdie spesifikasies kan vanaf http://www.rfc-editor.org/rfc.html afgelaai word.
Eksterne skakels
Verwysings
- â Viljoen, Hendrik Christo (2005). Kuberwoordeboek (1ste uitg. uitg.). Pretoria: Protea Boekhuis.