Η ετικέτα φόρμας χρησιμοποιείται για την έκφραση του περιεχομένου της φόρμας. αυτό είναι επίσης γνωστό ως έλεγχος φόρμας . Αυτά τα έντυπα γεμίζονται με δεδομένα που στη συνέχεια αποστέλλονται στο απομακρυσμένο μηχάνημα για περαιτέρω επεξεργασία. Η λειτουργία του εντύπου περιλαμβάνει δύο κρίσιμα πράγματα: πρώην είναι η προδιαγραφή διευθύνσεων του προγράμματος που χειρίζεται τα περιεχόμενα της φόρμας με τη βοήθεια του ACTION . Αργότερα είναι η προδιαγραφή μεθόδου μέσα στην οποία ρέουν τα δεδομένα φόρμας με τη βοήθεια του χαρακτηριστικού METHOD .
Το χαρακτηριστικό ΔΡΑΣΗ περιγράφει τον τρόπο χειρισμού της φόρμας HTML. Το χαρακτηριστικό METHOD διαχειρίζεται τη διαδικασία υποβολής των δεδομένων. Η μέθοδος GET και POST υπάγεται στο χαρακτηριστικό METHOD.
Συγκριτικό διάγραμμα
Βάση σύγκρισης | ΠΑΙΡΝΩ | ΘΕΣΗ |
---|---|---|
Οι παράμετροι τοποθετούνται μέσα | URI | Σώμα |
Σκοπός | Ανάκτηση εγγράφων | Ενημέρωση δεδομένων |
Αποτελέσματα ερωτήματος | Ικανός να είναι σελιδοδείκτες. | Δεν είναι δυνατή η δημιουργία σελιδοδείκτη. |
Ασφάλεια | Ευάλωτο, όπως υπάρχει στο απλό κείμενο | Ασφαλέστερη από τη μέθοδο GET |
Περιορισμοί τύπων δεδομένων μορφής | Επιτρέπονται μόνο χαρακτήρες ASCII. | Δεν επιτρέπονται περιορισμοί, ακόμη και δυαδικά δεδομένα. |
Μήκος δεδομένων φόρμας | Πρέπει να διατηρείται όσο το δυνατόν λιγότερο. | Θα μπορούσε να βρίσκεται σε οποιοδήποτε εύρος. |
Ορατότητα | Μπορεί να το δει κανείς. | Δεν εμφανίζει μεταβλητές στη διεύθυνση URL. |
Μεταβλητό μέγεθος | Έως 2000 χαρακτήρες. | Έως 8 Mb |
Caching | Τα δεδομένα μεθόδου μπορούν να αποθηκευτούν προσωρινά. | Δεν αποθηκεύει προσωρινά τα δεδομένα. |
Ορισμός της μεθόδου GET
Η μέθοδος GET χρησιμοποιείται για την αίτηση της διεύθυνσης URL από έναν διακομιστή ιστού για την εξαγωγή των εγγράφων HTML. Είναι μια συμβατική μέθοδος για τα προγράμματα περιήγησης να παραδίδουν τις πληροφορίες που υπολογίζονται ως μέρος του πρωτοκόλλου HTTP. Η μέθοδος GET αντιπροσωπεύεται με τη μορφή της διεύθυνσης URL, ώστε να μπορεί να επισημανθεί με σελιδοδείκτη. Το GET χρησιμοποιείται ευρέως στις μηχανές αναζήτησης. Μετά την υποβολή ενός ερωτήματος από το χρήστη στη μηχανή αναζήτησης, ο μηχανισμός εκτελεί το ερώτημα και δίνει τη σελίδα που προκύπτει. Τα αποτελέσματα του ερωτήματος μπορούν να οριστούν ως σύνδεσμος (σελιδοδείκτης).
Η μέθοδος GET επιτρέπει την δημιουργία άγκυρας, η οποία βοηθά στην πρόσβαση στο πρόγραμμα CGI με το ερώτημα που αποφεύγει τη χρήση της φόρμας. Το ερώτημα είναι κατασκευασμένο σε έναν σύνδεσμο, έτσι όταν το link επισκέπτεται το πρόγραμμα CGI θα ανακτήσει τις κατάλληλες πληροφορίες από τη βάση δεδομένων.
Η μέθοδος GET έχει ορισμένα ζητήματα ασφάλειας επειδή τα εισαγόμενα δεδομένα είναι ορατά στη διεύθυνση URL. Μόνο μια περιορισμένη ποσότητα δεδομένων μπορεί να περάσει μέσω μιας μεθόδου GET, καθώς το μήκος της διεύθυνσης URL στο οποίο μπορεί να μετακινηθεί ένα πρόγραμμα περιήγησης μπορεί να είναι χιλιάδες χαρακτήρες.
Ένα άλλο ζήτημα σχετικά με τη μέθοδο GET είναι ότι δεν μπορεί να ασχοληθεί με ξένες γλώσσες. Η μέθοδος GET δεν προτείνεται να χρησιμοποιηθεί, αλλά όταν δεν έχουν οριστεί τα χαρακτηριστικά μεθόδου, η μέθοδος GET χρησιμοποιείται ως προεπιλογή.
Ορισμός της μεθόδου POST
Η μέθοδος POST είναι κατάλληλη στην περίπτωση όπου μπορεί να περάσει μια σημαντική ποσότητα πληροφοριών. Όταν ένας διακομιστής παραλαμβάνει το αίτημα από μια φόρμα που χρησιμοποιεί το POST, συνεχίζει να "ακούει" για τις πληροφορίες αριστερά. Με απλά λόγια, η μέθοδος μεταφέρει όλες τις σχετικές πληροφορίες της εισόδου φόρμας αμέσως μετά την υποβολή του αιτήματος στη διεύθυνση URL.
Η μέθοδος POST πρέπει να δημιουργήσει δύο επαφές με τον εξυπηρετητή ιστού ενώ το GET κάνει μόνο μία. Τα αιτήματα στο POST διαχειρίζονται με τον ίδιο τρόπο όπως γίνεται στη μέθοδο GET, όπου τα διαστήματα αντιπροσωπεύονται στο σύμβολο συν (+) και οι χαρακτήρες καθόδου κωδικοποιούνται στο πρότυπο διεύθυνσης URL. Μπορεί επίσης να στείλει τα στοιχεία ενός αρχείου.
Βασικές διαφορές μεταξύ της μεθόδου GET και POST σε HTML
- Η μέθοδος GET τοποθετεί τις παραμέτρους μέσα στο URI, ενώ η μέθοδος POST προσαρτά τις παραμέτρους στο σώμα.
- Το GET χρησιμοποιείται ουσιαστικά για τη λήψη των πληροφοριών. Αντιθέτως, ο σκοπός της μεθόδου POST είναι η ενημέρωση των δεδομένων.
- Τα αποτελέσματα των ερωτημάτων POST δεν μπορούν να καταχωριστούν ως σελιδοδείκτες, ενώ τα αποτελέσματα των ερωτημάτων GET μπορούν να καταχωριστούν ως σελιδοδείκτες επειδή υπάρχουν στη μορφή της διεύθυνσης URL.
- Στη μέθοδο GET οι πληροφορίες είναι ορατές στη διεύθυνση URL, γεγονός που αυξάνει τις ευπάθειες και τον κίνδυνο της πειρατείας. Αντίθετα, η μέθοδος POST δεν εμφανίζει μεταβλητή στο URL και μπορούν να χρησιμοποιηθούν πολλαπλές τεχνικές κωδικοποίησης, οι οποίες την καθιστούν ανθεκτική.
- Όταν χρησιμοποιείται η μέθοδος GET στη φόρμα, μόνο οι χαρακτήρες ASCII γίνονται αποδεκτοί σε τύπους δεδομένων. Αντίθετα, η μέθοδος POST δεν δεσμεύει τύπους δεδομένων μορφής και επιτρέπει δυαδικούς και ASCII χαρακτήρες.
- Το μεταβλητό μέγεθος στη μέθοδο GET είναι περίπου 2000 χαρακτήρες. Αντιστρόφως, η μέθοδος POST επιτρέπει μεταβολή μεγέθους έως και 8 Mb.
- Τα δεδομένα μεθόδου GET είναι αποθηκευμένα στην κρυφή μνήμη, ενώ τα δεδομένα της μεθόδου POST δεν είναι.
Παράδειγμα GET
Όταν ο χρήστης εισάγει οποιαδήποτε διεύθυνση URL στη γραμμή τοποθεσίας ενός προγράμματος περιήγησης, όπως http // www.example.com / xyz / file1.htm . Η διεύθυνση μετατρέπεται στη συνέχεια σε έγκυρο αίτημα HTTP GET, για παράδειγμα, GET / xyz / file1.htm HTTP / 1.0 .
Αυτό το αίτημα μεταφέρεται στον διακομιστή www.example.com . Το αίτημα ζητά το αρχείο1.htm στον κατάλογο xyz και αν συνδέεται με τη διάλεκτο 1.0 του HTTP. Εδώ ο χρήστης δεν παίρνει το αρχείο από μόνο του μετά την υποβολή του αρχείου, στην πραγματικότητα ένα πρόγραμμα τρέχει στο παρασκήνιο για να χειριστεί τα δεδομένα της φόρμας.
Ο χρήστης χρειάζεται να περάσει δεδομένα φόρμας με το όνομα του προγράμματος για την εκτέλεση του. Για να επιτευχθεί αυτή η εκτέλεση, οι πληροφορίες φόρμας επισυνάπτονται στην απαιτούμενη διεύθυνση URL. Δημιουργεί διεύθυνση URL που έχει εκατό χαρακτήρες μαζί με τα πραγματικά δεδομένα, για παράδειγμα, //www.example.com/cgi-x/comments.exe?Name=AI+Alena&Age=23&Gender=female .
Παράδειγμα POST
Τα δεδομένα που αποστέλλονται από μια φόρμα μπορούν να εμφανιστούν όπως Name = AI + Alena & Age = 23 & Gender = female . Το πρόγραμμα χειρίζεται τα δεδομένα χωρίζοντας τα δεδομένα. Τα δεδομένα φόρμας μπορούν να κωδικοποιηθούν διαφορετικά χρησιμοποιώντας το χαρακτηριστικό ENCTYPE στη μέθοδο POST.
Τα περιεχόμενα της φόρμας δεν εμφανίζονται συνήθως στη διεύθυνση URL και το κύριο πλεονέκτημά της είναι ότι μπορεί να υποβληθεί ένα σημαντικό ποσό δεδομένων χρησιμοποιώντας τη μέθοδο POST.
συμπέρασμα
Η μέθοδος GET και POST χρησιμοποιείται για την αποστολή των δεδομένων στο διακομιστή και η κύρια διαφορά μεταξύ τους είναι ότι η μέθοδος GET προσαρτά τα δεδομένα στο URI που ορίζεται στο χαρακτηριστικό δράσης της φόρμας. Αντίστροφα, η μέθοδος POST αποδίδει δεδομένα στο αιτούμενο σώμα. Η χρήση της μεθόδου GET είναι ακατάλληλη όταν οι ευαίσθητες πληροφορίες πρέπει να συμπληρωθούν στη φόρμα. Η μέθοδος POST είναι χρήσιμη όταν ο χρήστης χρειάζεται να συμπληρώσει τους κωδικούς πρόσβασης ή άλλες εμπιστευτικές πληροφορίες.