Πρωτόκολλο Μεταφοράς Υπερκειμένου

Το Πρωτόκολλο Μεταφοράς Υπερκειμένου (HyperText Transfer Protocol, HTTP) είναι ένα πρωτόκολλο επικοινωνίας. Αποτελεί το κύριο πρωτόκολλο που χρησιμοποιείται στους φυλλομετρητές του Παγκοσμίου Ιστού για να μεταφέρει δεδομένα ανάμεσα σε έναν διακομιστή (server) και έναν πελάτη (client).

Μέθοδοι αίτησης του HTTP

Αν και το HTTP πρωτόκολλο σχεδιάστηκε για χρήση στον Ιστό, υποστηρίζει λειτουργίες που είναι πιο γενικές απ’ ότι απαιτείται. Οι λειτουργίες αυτές ονομάζονται μέθοδοι.Κάθε αίτηση αποτελείται από μία ή περισσότερες γραμμές κειμένου ASCII.Η πρώτη λέξη της πρώτης γραμμής της αίτησης είναι το όνομα της ζητούμενης μεθόδου.
Παρακάτω παρουσιάζονται συνοπτικά οι ενσωματωμένες μέθοδοι αίτησης του πρωτοκόλλου HTTP:
GET
Η μέθοδος GET ζητά από το διακομιστή να στείλει τη σελίδα. Η σελίδα κωδικοποιείται κατάλληλα σε μορφή MIME.Η πιο συνήθης μορφή της μεθόδου GET είναι η εξής:           
GET όνομα_αρχείου  HTTP/1.1
όπου το όνομα_αρχείου προσδιορίζει το όνομα του πόρου που πρέπει να προσκομιστεί και το 1.1 είναι η έκδοση του πρωτοκόλλου που χρησιμοποιείται.
HEAD
Η μέθοδος HEAD ζητά μόνο την κεφαλίδα του μηνύματος, χωρίς τη πραγματική σελίδα. Η μέθοδος αυτή μπορεί να χρησιμοποιηθεί για τη συλλογή πληροφοριών για λόγους δεικτοδότησης ή απλώς και μόνο για τον έλεγχο εγκυρότητας μιας διεύθυνσης URL.
POST
Η μέθοδος POST χρησιμοποιείται κατά την υποβολή φορμών. Όπως και η μέθοδος GET, η POST  περιέχει μια διεύθυνση URL αλλά αντί να ανακτά απλώς τη σελίδα μεταφέρει δεδομένα στον διακομιστή όπως για παράδειγμα τα περιεχόμενα της φόρμας. Έπειτα ο διακομιστής κάνει κάτι με αυτά τα δεδομένα ανάλογα με το URL.Τέλος, η μέθοδος επιστρέφει μια σελίδα που δείχνει το αποτέλεσμα.
PUT
Η μέθοδος PUT είναι η αντίστροφη της GET, δηλαδή αντί να διαβάζει τη σελίδα, γράφει τη σελίδα. Η μέθοδος αυτή κάνει εφικτή την κατασκευή μιας συλλογής ιστοσελίδων σε έναν απομακρυσμένο διακομιστή. Το σώμα της αίτησης περιέχει τη σελίδα. Μπορεί να κωδικοποιείται μέσω του MIME,  οπότε οι γραμμές που ακολουθούν την PUT μπορεί να περιέχουν κεφαλίδες Content-Type και πιστοποίησης  ταυτότητας, ώστε να αποδείξουν ότι ο αιτών έχει πραγματικά την άδεια να εκτελέσει τη ζητούμενη λειτουργία.
DELETE
Η μέθοδος DELETE καταργεί τη σελίδα ή τουλάχιστον δηλώνει ότι ο διακομιστής Ιστού έχει συμφωνίσει να καταργήσει τη σελίδα. Όπως και με την PUT και σε αυτή τη μέθοδο παίζουν μεγάλο ρόλο η πιστοποίηση της ταυτότητας και της άδειας εκτέλεσης της λειτουργίας.
TRACE
Η μέθοδος TRACE χρησιμοποιείται για αποσφαλμάτωση. Ζητά από τον διακομιστή να επιστρέψει την αίτηση. Η μέθοδος αυτή είναι χρήσιμη όταν η επεξεργασία των αιτήσεων δεν γίνεται σωστά και ο πελάτης θέλει να δει ποια αίτηση έλαβε πραγματικά ο διακομιστής.
CONNECT
Η μέθοδος CONNECT επιτρέπει στον χρήστη να πραγματοποιήσει σύνδεση με έναν διακομιστή Ιστού μέσω μιας ενδιάμεσης συσκευής, για παράδειγμα  μέσω μια κρυφής μνήμης Ιστού.
OPTIONS
Η μέθοδος OPTIONS παρέχει έναν τρόπο ώστε ο πελάτης να στέλνει ερωτήματα στον διακομιστή σχετικά με μια σελίδα και να λαμβάνει τις μεθόδους και τις κεφαλίδες που μπορούν να χρησιμοποιηθούν με αυτή τη σελίδα.

Κωδικοί κατάστασης

Κάθε αίτηση λαμβάνει μια απάντηση η οποία αποτελείται από μια γραμμή κατάστασης και πιθανόν πρόσθετες πληροφορίες. Η γραμμή κατάστασης περιέχει ένα τριψήφιο κωδικό κατάστασης, ο οποίος δηλώνει κατά πόσον εξυπηρετήθηκε η αίτηση και αν δεν εξυπηρετήθηκε, γιατί συνέβη αυτό. Το πρώτο ψηφίο χρησιμοποιείται για την υποδιαίρεση των αιτήσεων σε 5 κατηγορίες.
Οι κωδικοί 1xx χρησιμοποιούνται σπανίως στη πράξη. Παράδειγμα: 100= ο διακομιστής συμφωνεί να χειριστεί την αίτηση του πελάτη.
Οι κωδικοί 2xx σημαίνουν ότι ο χειρισμός της αίτησης έγινε με επιτυχία και ότι επιστρέφεται το περιεχόμενο αν υπήρχε. Παράδειγμα: 200 = η αίτηση πέτυχε, 204 = δεν υπάρχει περιεχόμενο.
Οι κωδικοί 3xx λένε στον πελάτη να ψάξει αλλού, είτε χρησιμοποιώντας μια διαφορετική διεύθυνση URL, είτε εξετάζοντας την κρυφή μνήμη. Παράδειγμα: 301 = η σελίδα μετακινήθηκε.
Οι κωδικοί 4xx σημαίνουν ότι η αίτηση απέτυχε λόγω κάποιου σφάλματος του πελάτη, όπως άκυρη αίτηση ή ανύπαρκτη σελίδα. Παράδειγμα: 403 = απαγορευμένη σελίδα, 404 = η σελίδα δεν βρέθηκε.

Ανάπτυξη και συντήρηση

Η ανάπτυξη του HTTP έγινε υπό την εποπτεία του World Wide Web Consortium και του Internet Engineering Task Force (IETF).

Ασφάλεια

Το απλό πρωτόκολλο http δεν εγγυάται καμία ασφάλεια.