Ett protokoll för kommunikation mellan en server och en klient. Klienten skickar ett HTTP-meddelande till servern som i sin tur svarar med olika resurser som tex html.
Protokollet säger ingenting om hur datan skickas utan är en definition av hur informationen mellan server och klient skall vara strukturerad.
HEAD, GET, OPTIONS, TRACE
POST, PUT, DELETE, PATCH
Information - 1XX
Framgång! - 2XX
Omdirigering - 3XX
Klientfel - 4XX
Servefel - 5XX
GET /index.html HTTP/1.1
Host: www.example.com
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Content-Type: text/html; charset=UTF-8
Content-Encoding: UTF-8
Content-Length: 138
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
ETag: "3f80f-1b6-3e1cb03b"
Accept-Ranges: bytes
Connection: close
Statusrad
Headers
Förkrav: modulen mod_headers måste vara aktiverad
Manual: https://httpd.apache.org/docs/2.4/mod/mod_headers.html
<IfModule mod_headers.c>
Header unset Server
Header always unset X-Powered-By
Header unset X-Powered-By
Header unset X-CF-Powered-By
Header unset X-Mod-Pagespeed
Header unset X-Pingback
Header set MyHeader "Hello Joe. It took %D microseconds for Apache to serve this request."
</IfModule><?php
header("HTTP/1.0 404 Not Found");
header("Location: http://www.example.com/"); /* Redirect browser */
/* Make sure that code below does not get executed when we redirect. */
exit;
?>Om ni behöver påverka headers via PHP så görs detta via den inbyggda funktionen header
Funktionen kan även användas för omdirigeringar och för att sätta http-statuskoder.
<?php
/* This will give an error. Note the output
* above, which is before the header() call */
header('Location: http://www.example.com/');
exit;
?> Funktionen måste anropas FÖRE någon output skrivs till webbläsaren.
Nedanstående exempel fungerar inte. OBS att inställningen output_buffers kan "gömma" det här felet.
https://github.com/raket/wieg16-http