Sobes.tech
Intern

Ποιοι τύποι αιτημάτων HTTP υπάρχουν;

sobes.tech AI

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

Βασικοί τύποι αιτημάτων HTTP: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT.

Περιγραφή των πιο συνηθισμένων:

  • GET: Ζητά την προβολή ενός συγκεκριμένου πόρου. Οι αιτήσεις με αυτή τη μέθοδο πρέπει να λαμβάνουν μόνο δεδομένα.
  • POST: Αποστέλλει δεδομένα για επεξεργασία σε έναν συγκεκριμένο πόρο. Ένα συχνό αποτέλεσμα είναι μια αλλαγή κατάστασης ή παρενέργειες στον διακομιστή.
  • PUT: Αντικαθιστά όλες τις τρέχουσες εμφανίσεις του στόχου πόρου με τα δεδομένα από το σώμα του αιτήματος.
  • DELETE: Διαγράφει τον καθορισμένο πόρο.
  • PATCH: Εφαρμόζει μερικές τροποποιήσεις στον πόρο.
  • HEAD: Ζητά τα κεφαλίδια όπως το GET, αλλά χωρίς το σώμα της απάντησης. Χρησιμοποιείται για την απόκτηση μεταδεδομένων.
  • OPTIONS: Περιγράφει τις παραμέτρους επικοινωνίας για τον στόχο πόρο.
  • CONNECT: Μετατρέπει τη ζητούμενη σύνδεση σε έναν διαφανή proxy TCP/IP.
  • TRACE: Εκτελεί δοκιμή ανατροφοδότησης στον δρόμο προς τον στόχο πόρο.

Διαφορές μεταξύ GET και POST:

Χαρακτηριστικό GET POST
Σκοπός Απόκτηση δεδομένων Αποστολή δεδομένων για επεξεργασία
Μεταφορά δεδομένων Μέσω παραμέτρων URL (Query String) Μέσω του σώματος του αιτήματος
Ασφάλεια Ιδιόμορφο (οι επαναλαμβανόμενες αιτήσεις δεν αλλάζουν την κατάσταση) Μη ιδιόμορφο
Ορατότητα δεδομένων Ορατά στο URL, αποθηκεύονται στο ιστορικό του προγράμματος περιήγησης, logs του διακομιστή Μη ορατά στο URL, δεν αποθηκεύονται στο ιστορικό του προγράμματος περιήγησης
Μέγεθος δεδομένων Περιορίζεται από το μήκος του URL Χωρίς περιορισμούς (ή πολύ μεγάλα)
Caching Μπορεί να αποθηκευτεί στην cache Δεν αποθηκεύεται στην cache με βασικά μέσα
Σελιδοδείκτες Μπορεί να προστεθεί σε σελιδοδείκτη μια σελίδα με παραμέτρους GET Όχι (για τις συνηθισμένες μεθόδους αποστολής φορμών)

Παράδειγμα χρήσης GET σε PHP:

<?php
// Λήψη παραμέτρου 'id' από το URL
$userId = $_GET['id'];
echo "ID χρήστη: " . htmlspecialchars($userId);
?>

Παράδειγμα χρήσης POST σε PHP (επεξεργασία δεδομένων φόρμας):

<?php
// Έλεγχος αν το αίτημα είναι μέσω POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Λήψη δεδομένων από το σώμα του αιτήματος
    $username = $_POST['username'];
    $password = $_POST['password'];
    // Επεξεργασία δεδομένων (π.χ. αποθήκευση στη βάση δεδομένων)
    echo "Όνομα χρήστη: " . htmlspecialchars($username) . "<br>";
    echo "Ο κωδικός πρόσβασης ελήφθη.";
}
?>