Sobes.tech
Intern

Τι είναι το αίτημα HTTP;

sobes.tech AI

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

Ένα αίτημα HTTP είναι ο τρόπος με τον οποίο ένας πελάτης (π.χ. ένας περιηγητής ιστού) ζητά έναν πόρο από τον διακομιστή. Αποτελείται από διάφορα μέρη:

  1. Μέθοδος HTTP: Ορίζει τη δράση που πρέπει να εκτελεστεί πάνω στον πόρο. Οι πιο συνηθισμένες είναι:
    • GET: Ζητά την παρουσίαση ενός συγκεκριμένου πόρου. Τα δεδομένα μεταδίδονται στη URI.
    • POST: Στέλνει δεδομένα για επεξεργασία στον διακομιστή. Τα δεδομένα μεταδίδονται στο σώμα του αιτήματος.
    • PUT: Φορτώνει την παρουσίαση ενός συγκεκριμένου πόρου.
    • DELETE: Διαγράφει τον συγκεκριμένο πόρο.
    • HEAD: Ζητά τις κεφαλίδες, παρόμοια με το GET, αλλά χωρίς το σώμα της απάντησης.
  2. URI (Ενιαίος Αναγνωριστικός Πόρων): Υποδεικνύει τον πόρο στον διακομιστή στον οποίο απευθύνεται το αίτημα.
  3. Έκδοση πρωτοκόλλου HTTP: Για παράδειγμα, HTTP/1.1 ή HTTP/2.0.
  4. Κεφαλίδες αιτήματος (Request Headers): Παρέχουν πρόσθετες πληροφορίες σχετικά με τον πελάτη, τον πόρο ή το ίδιο το αίτημα. Παραδείγματα:
    • Host: Το όνομα τομέα του διακομιστή.
    • User-Agent: Πληροφορίες σχετικά με την εφαρμογή πελάτη (περιηγητή).
    • Accept: Τύποι δεδομένων που ο πελάτης είναι διατεθειμένος να δεχτεί.
    • Content-Type: Τύπος δεδομένων που αποστέλλονται στο σώμα του αιτήματος (POST, PUT).
    • Authorization: Δεδομένα πιστοποίησης.
  5. Σώμα αιτήματος (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.