Μέθοδοι αιτήματος HTML

Τι είναι το HTTP;

Το υπερtekstou μεταφοράς protokόλλο (Hypertext Transfer Protocol, συντομευθείς σε HTTP) σκοπεύει να επιτρέψει την επικοινωνία μεταξύ πελάτη και διακομιστή.

Το HTTP λειτουργεί ως πρωτόκολλο αίτησης-απάντησης μεταξύ πελάτη και διακομιστή.

Παράδειγμα: Ο πελάτης (browser) στέλνει αίτημα HTTP στον διακομιστή; στη συνέχεια, ο διακομιστής επιστρέφει την απάντηση στον πελάτη. Η απάντηση περιέχει πληροφορίες για την κατάσταση του αιτήματος, μπορεί επίσης να περιέχει το ζητούμενο περιεχόμενο.

Μέθοδοι HTTP

  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • PATCH
  • OPTIONS

Τα δύο πιο συχνά χρησιμοποιούμενα είναι: GET και POST.

Μέθοδος GET

GET χρησιμοποιείται για να ζητήσει δεδομένα από συγκεκριμένη πηγή.

Το GET είναι μια από τις πιο συχνές μεθόδους HTTP.

Παρακαλώ σημειώστε ότι η αλφαριθμητική αίτηση (ονομαστικό/τιμικό ζευγάρι) αποσταλεί στον URL της αίτησης GET:

/test/demo_form.php?name1=value1&name2=value2

Μερικές άλλες παρατηρήσεις για τις αιτήσεις GET:

  • Οι αιτήσεις GET μπορούν να αποθηκευτούν ως καύσιμο
  • Οι αιτήσεις GET αποθηκεύονται στην ιστορικό του περιηγητή
  • Οι αιτήσεις GET μπορούν να αποθηκευτούν ως σημεία αναφοράς
  • Οι αιτήσεις GET δεν πρέπει να χρησιμοποιούνται για την επεξεργασία ευαίσθητων δεδομένων.
  • Οι αιτήσεις GET έχουν περιορισμό μήκους.
  • Οι αιτήσεις GET πρέπει να χρησιμοποιούνται μόνο για την ανάκτηση δεδομένων (δεν πρέπει να τροποποιούνται).

Μέθοδος POST

Το POST χρησιμοποιείται για να στείλει δεδομένα στο διακομιστή για τη δημιουργία/ενημέρωση πόρων.

Τα δεδομένα που αποσταλούν στο διακομιστή μέσω POST αποθηκεύονται στον σώμα της αίτησης HTTP:

POST /test/demo_form.php HTTP/1.1
Host: codew3c.com
name1=value1&name2=value2

Το POST είναι μια από τις πιο συχνές μεθόδους HTTP.

Μερικές άλλες παρατηρήσεις για τις αιτήσεις POST:

  • Η αίτηση POST δεν αποθηκεύεται ως καύσιμο
  • Η αίτηση POST δεν αποθηκεύεται στην ιστορικό του περιηγητή
  • Η αίτηση POST δεν μπορεί να αποθηκευτεί ως σημείο αναφοράς
  • Η αίτηση POST δεν έχει περιορισμούς στον όγκο των δεδομένων.

Μέθοδος PUT

Το PUT χρησιμοποιείται για να στείλει δεδομένα στο διακομιστή για τη δημιουργία/ενημέρωση πόρων.

Η διαφορά μεταξύ POST και PUT είναι ότι η αίτηση PUT είναι ιδεομετρική (idempotent). Δηλαδή, η επανάληψη της ίδιας αίτησης PUT θα παράγει πάντα το ίδιο αποτέλεσμα. Αντίθετα, η επανάληψη της αίτησης POST έχει το παρενέργεια να δημιουργεί πολλαπλά αντίγραφα του ίδιου πόρου.

Μέθοδος HEAD

Η μέθοδος HEAD είναι σχεδόν ίδια με την GET, αλλά χωρίς σώμα απάντησης.

Με άλλα λόγια, αν το GET /users επιστρέφει μια λίστα χρηστών, τότε το HEAD /users θα εκτελέσει την ίδια αίτηση αλλά δεν θα επιστρέψει τη λίστα χρηστών.

Η αίτηση HEAD είναι χρήσιμη για να ελέγξει το περιεχόμενο που θα επιστρέψει η αίτηση GET πριν από την πραγματική αποστολή της (π.χ. πριν από τη λήψη μεγάλου αρχείου ή του σώματος απάντησης).

Μέθοδος DELETE

Η μέθοδος DELETE διαγράφει τον καθορισμένο πόρο.

Μέθοδος OPTIONS

Η μέθοδος OPTIONS περιγράφει τις επιλογές επικοινωνίας του στόχου πόρου.

Συγκριτικό GET με POST

Η παρακάτω τаблицή συγκρίνει δύο μέθοδους HTTP: GET και POST.

  GET POST
Πίσω από το κουμπί / Ανανέωση Ασφαλές Τα δεδομένα θα υποβληθούν ξανά (ο περιηγητής θα πρέπει να ενημερώσει τον χρήστη ότι τα δεδομένα θα υποβληθούν ξανά).
Σημείο αναφοράς Μπορεί να αποθηκευτεί ως σημείο αναφοράς Δεν μπορεί να αποθηκευτεί ως σημείο αναφοράς
Αποθήκευση Μπορεί να αποθηκευτεί Δεν μπορεί να αποθηκευτεί
Τύπος κωδικοποίησης application/x-www-form-urlencoded application/x-www-form-urlencoded ή multipart/form-data. Χρησιμοποιήστε πολλαπλή κωδικοποίηση για δεδομένα binary.
Ιστορικό Τα παραμέτρια αποθηκεύονται στην ιστορικό του προγράμματος περιήγησης. Τα παραμέτρια δεν αποθηκεύονται στην ιστορικό του προγράμματος περιήγησης.
Περιορισμοί μήκους δεδομένων Ναι. Όταν στέλνετε δεδομένα, το μέθοδος GET προσθέτει δεδομένα στον URL; Η μήκος του URL είναι περιορισμένη (το μέγιστο μήκος του URL είναι 2048 χαρακτήρες). Δεν υπάρχουν περιορισμοί.
Περιορισμοί στο τύπο δεδομένων Μόνο ASCII χαρακτήρες επιτρέπονται. Δεν υπάρχουν περιορισμοί. Επιτρέπεται και δεδομένα binary.
Ασφάλεια

Το GET είναι λιγότερο ασφαλές από το POST, καθώς τα δεδομένα που στέλνονται είναι μέρος του URL.

Να μην χρησιμοποιείτε ποτέ το GET για να στείλετε κωδικούς πρόσβασης ή άλλες ευαίσθητες πληροφορίες!

Το POST είναι πιο ασφαλές από το GET, καθώς τα παραμέτρια δεν αποθηκεύονται στην ιστορικό του προγράμματος περιήγησης ή στο ημερολόγιο του web server.
Ορατότητα Τα δεδομένα είναι ορατά σε όλους στον URL. Τα δεδομένα δεν θα εμφανιστούν στον URL.