Sobes.tech
Junior — Middle

Από ποια στοιχεία αποτελείται ένα αίτημα HTTP και πώς αλληλεπιδρούν;

sobes.tech AI

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

Ένα αίτημα HTTP αποτελείται από μερικά βασικά στοιχεία:

  1. Γραμμή Αιτήματος (Request Line) — περιέχει τη μέθοδο του αιτήματος (GET, POST κ.λπ.), το URL και την έκδοση του πρωτοκόλλου HTTP.

  2. Κεφαλίδες (Headers) — ένα σύνολο ζευγών κλειδιού-τιμής που μεταφέρουν μεταδεδομένα σχετικά με το αίτημα, π.χ. Content-Type, Authorization, User-Agent.

  3. Σώμα Αιτήματος (Body) — ένα προαιρετικό μέρος που περιέχει τα δεδομένα που στέλνει ο πελάτης στον διακομιστή (π.χ. δεδομένα φόρμας ή JSON κατά POST).

  4. Κενή γραμμή — διαχωρίζει τις κεφαλίδες από το σώμα.

Αλληλεπίδραση των στοιχείων:

  • Ο πελάτης σχηματίζει τη γραμμή αιτήματος με τη χρειάμενη μέθοδο και URL.
  • Προσθέτει τις απαραίτητες κεφαλίδες για την περιγραφή του αιτήματος.
  • Αν χρειάζεται, προσθέτει το σώμα με τα δεδομένα.
  • Στέλνει το αίτημα στον διακομιστή.

Παράδειγμα HTTP αιτήματος:

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer token123

{"name": "John", "age": 30}

Στο Node.js, για την επεξεργασία HTTP αιτημάτων χρησιμοποιούνται τα αντικείμενα IncomingMessage (για το αίτημα) και ServerResponse (για την απάντηση), που επιτρέπουν την ανάγνωση της γραμμής αιτήματος, των κεφαλίδων και του σώματος του αιτήματος.