Sobes.tech
Intern

Τι είναι το HTTP;

sobes.tech AI

Απάντηση από AI

Πρωτόκολλο μεταφοράς υπερκειμένου. Πρωτόκολλο επιπέδου εφαρμογής δικτύου για ανταλλαγή δεδομένων.

Βασικά χαρακτηριστικά:

  • Αρχιτεκτονική πελάτη-διακομιστή: Ο πελάτης (π.χ., περιηγητής) στέλνει αίτημα στον διακομιστή, ο διακομιστής επεξεργάζεται το αίτημα και επιστρέφει απάντηση.
  • Χωρίς διατήρηση κατάστασης (stateless): Κάθε αίτημα επεξεργάζεται ανεξάρτητα από τα προηγούμενα. Η κατάσταση της συνεδρίας διατηρείται σε υψηλότερα επίπεδα (π.χ., με cookie).
  • Χρησιμοποιεί TCP: Το πρωτόκολλο μεταφοράς κατά προεπιλογή είναι το TCP, που παρέχει αξιόπιστη παράδοση δεδομένων.
  • Port 80: Το προεπιλεγμένο port για HTTP.
  • Μέθοδοι αιτημάτων (HTTP methods/verbs): Ορίζουν τον τύπο της ενέργειας που πρέπει να εκτελεστεί πάνω στον πόρο.
    • GET: Αίτημα δεδομένων από τον καθορισμένο πόρο.
    • POST: Αποστολή δεδομένων για επεξεργασία ή δημιουργία νέου πόρου.
    • PUT: Ενημέρωση υπάρχοντος πόρου ή δημιουργία νέου με το καθορισμένο URI.
    • DELETE: Διαγραφή του πόρου.
    • PATCH: Μερική ενημέρωση του πόρου.
    • HEAD: Αίτημα επικεφαλίδων απάντησης, παρόμοιο με το GET, αλλά χωρίς το σώμα.
    • OPTIONS: Αίτημα πληροφοριών σχετικά με τις διαθέσιμες μεθόδους και άλλες επιλογές σύνδεσης για τον στόχο πόρο.
  • Κωδικοί κατάστασης απάντησης (Status Codes): Τριψήφιοι αριθμοί που υποδεικνύουν το αποτέλεσμα του αιτήματος.
    • 1xx: Πληροφοριακό
    • 2xx: Επιτυχία - 200 OK
    • 3xx: Ανακατεύθυνση
    • 4xx: Σφάλμα πελάτη - 404 Not Found
    • 5xx: Σφάλμα διακομιστή - 500 Internal Server Error

Δομή μηνύματος HTTP:

Μέρος Αίτημα (Request) Απάντηση (Response)
Αρχική γραμμή Μέθοδος URI Έκδοση HTTP (π.χ., GET / HTTP/1.1) Έκδοση HTTP Κωδικός κατάστασης Φράση κατάστασης (π.χ., HTTP/1.1 200 OK)
Επικεφαλίδες Ζεύγος "Όνομα-Τιμή" (π.χ., Host: example.com) Ζεύγος "Όνομα-Τιμή" (π.χ., Content-Type: text/html)
Κενή γραμμή Διαχωρίζει τις επικεφαλίδες από το σώμα. Διαχωρίζει τις επικεφαλίδες από το σώμα.
Σώμα Προαιρετικό. Περιέχει δεδομένα προς αποστολή (π.χ., φόρμες). Προαιρετικό. Περιέχει τα ζητούμενα δεδομένα (π.χ., HTML σελίδα).

Παράδειγμα αίτησης HTTP:

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, όπως Gecko) Chrome/58.0.3029.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Παράδειγμα απάντησης HTTP:

HTTP/1.1 200 OK
Date: Tue, 25 Jun 2024 10:00:00 GMT
Server: Apache/2.4.1 (Unix)
Content-Type: text/html; charset=UTF-8
Content-Length: 1234

<!DOCTYPE html>
<html>
<head>
    <title>Index Page</title>
</head>
<body>
    HelloWorld!
</body>
</html>

Χρησιμοποιείται για τη μεταφορά υπερμέσων εγγράφων (HTML, εικόνες, βίντεο) στο World Wide Web. Το HTTPS είναι η ασφαλής έκδοση του HTTP με χρήση κρυπτογράφησης (SSL/TLS).