Intern
Τι είναι το αίτημα HTTP;
sobes.tech AI
Απάντηση από AI
Ένα αίτημα HTTP είναι ο τρόπος με τον οποίο ένας πελάτης (π.χ. ένας περιηγητής ιστού) ζητά έναν πόρο από τον διακομιστή. Αποτελείται από διάφορα μέρη:
- Μέθοδος HTTP: Ορίζει τη δράση που πρέπει να εκτελεστεί πάνω στον πόρο. Οι πιο συνηθισμένες είναι:
GET: Ζητά την παρουσίαση ενός συγκεκριμένου πόρου. Τα δεδομένα μεταδίδονται στη URI.POST: Στέλνει δεδομένα για επεξεργασία στον διακομιστή. Τα δεδομένα μεταδίδονται στο σώμα του αιτήματος.PUT: Φορτώνει την παρουσίαση ενός συγκεκριμένου πόρου.DELETE: Διαγράφει τον συγκεκριμένο πόρο.HEAD: Ζητά τις κεφαλίδες, παρόμοια με τοGET, αλλά χωρίς το σώμα της απάντησης.
- URI (Ενιαίος Αναγνωριστικός Πόρων): Υποδεικνύει τον πόρο στον διακομιστή στον οποίο απευθύνεται το αίτημα.
- Έκδοση πρωτοκόλλου HTTP: Για παράδειγμα,
HTTP/1.1ήHTTP/2.0. - Κεφαλίδες αιτήματος (Request Headers): Παρέχουν πρόσθετες πληροφορίες σχετικά με τον πελάτη, τον πόρο ή το ίδιο το αίτημα. Παραδείγματα:
Host: Το όνομα τομέα του διακομιστή.User-Agent: Πληροφορίες σχετικά με την εφαρμογή πελάτη (περιηγητή).Accept: Τύποι δεδομένων που ο πελάτης είναι διατεθειμένος να δεχτεί.Content-Type: Τύπος δεδομένων που αποστέλλονται στο σώμα του αιτήματος (POST,PUT).Authorization: Δεδομένα πιστοποίησης.
- Σώμα αιτήματος (Request Body): Περιέχει τα δεδομένα που αποστέλλονται στον διακομιστή, αν ισχύει (π.χ., για
POSTήPUT). Η μορφή των δεδομένων καθορίζεται από την κεφαλίδαContent-Type.
Παράδειγμα βασικού αιτήματος HTTP GET (αναπαράσταση):
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/91.0.4472.124 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Παράδειγμα βασικού αιτήματος HTTP POST (αναπαράσταση):
POST /submit-form HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
username=testuser&password=mypass
Ο διακομιστής επεξεργάζεται αυτό το αίτημα και επιστρέφει μια απάντηση HTTP.