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 OK3xx: Ανακατεύθυνση4xx: Σφάλμα πελάτη -404 Not Found5xx: Σφάλμα διακομιστή -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).