Sobes.tech
Junior

Από ποια στοιχεία αποτελείται ένα αίτημα HTTP;

sobes.tech AI

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

Το αίτημα HTTP αποτελείται από τα ακόλουθα στοιχεία:

  1. Γραμμή εκκίνησης (Request Line): Ορίζει τον τύπο του αιτήματος και τον πόρο. Αποτελείται από:

    • Μέθοδος HTTP (HTTP Method): Η ενέργεια που πρέπει να εκτελεστεί στον πόρο (π.χ., GET, POST, PUT, DELETE).
    • Διαδρομή πόρου (Path): Το URL του ζητούμενου πόρου στον διακομιστή.
    • Έκδοση HTTP (HTTP Version): Η έκδοση του πρωτοκόλλου HTTP που χρησιμοποιείται για το αίτημα (π.χ., HTTP/1.1, HTTP/2.0).
    // Παράδειγμα γραμμής εκκίνησης
    GET /index.html HTTP/1.1
    
  2. Κεφαλίδες αιτήματος (Request Headers): Παρέχουν πρόσθετες πληροφορίες σχετικά με τον πελάτη, το αίτημα ή τον πόρο. Οι παράμετροι των κεφαλίδων παρουσιάζονται σε μορφή "Όνομα: Τιμή". Κύριες κεφαλίδες:

    • Host: Το όνομα τομέα του διακομιστή.
    • User-Agent: Πληροφορίες σχετικά με τον πελάτη (πρόγραμμα περιήγησης, λειτουργικό σύστημα).
    • Accept: Τύποι μέσων που ο πελάτης είναι διατεθειμένος να δεχθεί.
    • Content-Type: Τύπος μέσων του περιεχομένου του σώματος του αιτήματος (για μεθόδους PUT, POST).
    • Content-Length: Το μήκος του σώματος του αιτήματος σε bytes.
    • Authorization: Διαπιστευτήρια για πιστοποίηση.
    // Παραδείγματα κεφαλίδων αιτήματος
    Host: www.paradeigma.com
    User-Agent: Mozilla/5.0
    Accept: text/html
    
  3. Άδειη γραμμή (Empty Line): Διαχωρίζει τις κεφαλίδες του αιτήματος από το σώμα του αιτήματος. Είναι υποχρεωτική, ακόμη και αν το σώμα απουσιάζει.

  4. Σώμα αιτήματος (Request Body): Περιέχει δεδομένα που αποστέλλονται στον διακομιστή, π.χ., δεδομένα φόρμας, JSON για POST/PUT αιτήματα. Δεν υπάρχει σε όλες τις μεθόδους (π.χ., δεν υπάρχει για GET).

    // Παράδειγμα σώματος αιτήματος (για POST/PUT)
    {
      "name": "John Doe",
      "age": 30
    }
    

Σχηματικά, η δομή ενός αιτήματος HTTP μπορεί να παρουσιαστεί ως:

Στοιχείο Περιγραφή Υποχρεωτικότητα
Γραμμή εκκίνησης Μέθοδος, διαδρομή πόρου, έκδοση HTTP Πάντα
Κεφαλίδες αιτήματος Πρόσθετες πληροφορίες σχετικά με το αίτημα/πελάτη Προαιρετικό
Άδειη γραμμή Διαχωριστής Πάντα
Σώμα αιτήματος Δεδομένα που αποστέλλονται στον διακομιστή Προαιρετικό