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 "Ο κωδικός πρόσβασης ελήφθη.";
}
?>