HTTP este folosit în World Wide Web pentru transfer de date și este unul dintre protocoalele pentru aplicație cel mai utilizat în ziua de astăzi. A fost dezvoltat pentru a publica și obține pagini HTMLS; în orice caz, flexibilitatea lui HTTP l-a determinat să devină o aplicație vitală pentru distribuția sistemelor informatice colaborative.

HTTP este un protocol de cerere/răspuns. Când un client, de obicei un navigator web trimite o cerere către un server web, HTTP specifică tipurile de mesaje folosite pentru acea comunicație. Cele trei tipuri comune de mesaj sunt GET, POST și PUT (vezi figura).

GET este o cerere a clientului pentru date. Un client (navigator web) trimite mesajul GET către serverul web pentru a solicita pagini HTML. Când serverul primește solicitarea GET, acesta răspunde cu o linie de status, precum HTTP/1.1 200 OK și un mesaj propriu. Mesajul de la server ar putea include fișierul HTML solicitat, dacă este disponibil, sau ar putea conține un mesaj de informare sau de eroare, precum “Locația fișierului solicitat s-a modificat.”

POST și PUT sunt folosite pentru a încărca fișiere de date pe serverul de web. De exemplu, atunci când utilizatorul introduce date într-o formă care este implementată într-o pagină web (cum ar fi la completarea unei solicitări a unei comenzi), mesajul POST este trimis la serverul web. Incluse în mesajul POST sunt și datele pe care utilizatorul le-a introdus în acea formă.

PUT încarcă resurse sau conținut pe serverul de web. De exemplu, dacă un utilizator încearcă să încarce un fișier sau o imagine pe un site web, un mesaj PUT este trimis de la client la server împreună cu fișierul sau imaginea atașate.

Deși HTTP este flexibil într-un mod remarcabil, nu este un protocol sigur. Mesajele solicitate trimit informații către server în text clar care poate fi interceptat și citit. În mod similar, răspunsurile serverului, de obicei paginile HTML sunt de asemenea, necriptate.

Pentru o comunicație sigură în Internet, protocolul HTTP Secure (HTTPS) este folosit pentru a accesa sau posta informația serverului de web. HTTPS poate folosi autentificarea și criptarea pentru a securiza datele pe măsură ce acestea se deplasează între client și server. HTTPS specifică reguli adiționale pentru trecerea datelor între layer-ul aplicație și transport. HTTPS folosește același proces dintre cererea clientului și răspunsul serverului ca și HTTP, dar streamul de dată este criptat cu Secure Socket Layer (SSL) înainte de a fi transportat în rețea. HTTPS creează încărcare adițională și timp de procesare pe server din cauza criptării și decriptării traficului.