Διαφορά μεταξύ της πρόσληψης και της δημοσίευσης Διαφορά μεταξύ
Λήψη vs Post
Οι 'Get' και 'Post' είναι HTTP METHODS για την αποστολή παραμέτρων δεδομένων από το πρόγραμμα περιήγησης πελάτη στο διακομιστή. Αυτές οι παράμετροι μπορεί να είναι μια είσοδος φόρμας, ερώτημα αναζήτησης από την καρτέλα αναζήτησης, κλπ. Όποτε η ιστοσελίδα πρέπει να ανταποκριθεί με αντίστοιχο στον χρήστη ή ακόμη και να την πούμε σαν μια διαδραστική ιστοσελίδα, τότε αυτές οι μέθοδοι HTTP παίζουν ζωτικό ρόλο ρόλος για την παροχή της συγκεκριμένης εισόδου του χρήστη στο διακομιστή. Αλλά μπορεί να αναρωτιέστε γιατί χρειαζόμαστε δύο διαφορετικές μεθόδους μόνο για να στείλουμε την είσοδο; Για να απαντήσετε σε αυτήν την ερώτηση, είναι πολύ σημαντικό να κατανοήσετε τον τρόπο με τον οποίο λειτουργούν αυτές οι μέθοδοι, ώστε να κατανοήσετε καλύτερα την πραγματική διαφορά.Σύνταξη:
Ας δούμε τώρα τη σύνταξη για τις μεθόδους HTTP Get and Post.
(Αυτή είναι η σύνταξη για τη λήψη)
(Αυτή είναι η σύνταξη για την ανάρτηση)
Δεν υπάρχει σημαντική διαφορά στη σύνταξη εκτός από τη λέξη Λήψη ή Δημοσίευση.
Πώς στέλνονται οι εισροές στον διακομιστή;
Η είσοδος προσαρτάται στη διεύθυνση URL ακολουθώντας ένα '? 'στη μέθοδο Αποκτήστε ενώ αποστέλλεται χωριστά ως μήνυμα στη μέθοδο Δημοσίευση. Μερικές φορές, θα μπορούσατε να έχετε δει το ερώτημά σας αναζήτησης στη διεύθυνση URL αφού πατήσετε το πλήκτρο enter. Αν όχι, δοκιμάστε μόνο μία φορά στο Google. Αν είναι η μέθοδος Get, μπορείτε να παρατηρήσετε το ερώτημα αναζήτησης μετά από '; 'στην ίδια διεύθυνση URL. Ταυτόχρονα, δεν μπορούμε να διαβάσουμε τις εισροές όταν χρησιμοποιούμε το Post καθώς πηγαίνει χωριστά και όχι με τη διεύθυνση URL.
Τύπος εισόδου:
Όπως το "Εισαγωγή προσθηκών" στη διεύθυνση URL, θα πρέπει να έχει τη μορφή χαρακτήρων ASCII. Αλλά το Post μπορεί να στείλει ακόμη δυαδικά δεδομένα χωρίς περιορισμούς. Επομένως, το Post είναι πιο ευέλικτο στον τύπο εισόδου, καθώς επιτρέπει τόσο τα δεδομένα ASCII, όσο και τα δυαδικά δεδομένα.
Αριθμός παραμέτρων:
Η μέθοδος Get μπορεί να στείλει μόνο περιορισμένες παραμέτρους σε σύγκριση με το Post. Συνήθως, περιορίζεται στον αριθμό, 2Κ, και σε ορισμένες περιπτώσεις, οι διακομιστές μπορούν να χειριστούν παραμέτρους μέτρησης μέχρι 64k. Ωστόσο, η μέθοδος Post είναι ικανή να στέλνει αρχεία στο διακομιστή με τη μορφή μηνυμάτων. Ναι, όταν συγκρίνουμε και τα δύο, μπορούμε να πούμε ότι το Post είναι καλύτερο να στείλει περισσότερες παραμέτρους ως παράμετροι.
Μέγεθος Εισόδου:
Γενικά, το μέγιστο επιτρεπόμενο μήκος URL υποβάλλονται στο πρόγραμμα περιήγησης που χρησιμοποιούμε και στον διακομιστή ιστού που επεξεργάζεται την αίτηση URL. Με το μήνυμα Get Get Sends μαζί με τη διεύθυνση URL, μπορούμε να στείλουμε 2048 χαρακτήρες κατ 'ανώτατο όριο και σε μερικές περιπτώσεις ποικίλλει. Αλλά δεν υπάρχει περιορισμός στο μέγεθος της εισόδου όταν χρησιμοποιούμε τη μέθοδο Post.
Ορατότητα της εισαγωγής:
Εάν δοκιμάσατε την αναζήτηση Google, θα μπορούσατε να καταλάβετε ότι η εισαγωγή του Get είναι προφανώς ορατή σε άλλους. Αυτό συμβαίνει επειδή η είσοδος είναι απλώς προσαρτημένη στη διεύθυνση URL και ο καθένας μπορεί να την δει στο χώρο URL. Αλλά εάν έχει χρησιμοποιηθεί η μέθοδος Post, κανείς δεν θα μπορούσε να προσδιορίσει αυτό που είχαμε στείλει ως είσοδο. Αν δεν ενδιαφέρεστε πολύ για την προβολή των δεδομένων σας, τότε προχωρήστε με το Get. Διαφορετικά, χρησιμοποιήστε την ανάρτηση για να αποκρύψετε τις πληροφορίες σας από άλλους.
Προεπιλεγμένη μέθοδος:
Μέχρι τώρα, θα μπορούσατε να καταλάβετε πώς λειτουργούν και οι δύο μέθοδοι για την αποστολή δεδομένων στους διακομιστές. Λόγω της απλότητας στη χρήση και τη μετάδοση παραμέτρων, η προεπιλεγμένη μέθοδος HTTP επιλέγεται ως 'Get'. Παρόλο που η μέθοδος Post έχει διάφορα πλεονεκτήματα σε σχέση με το Get, ο πιο απλός έχει προτεραιότητα ενώ παίρνει ως προεπιλογή. Επομένως, όταν δεν προσδιορίζετε συγκεκριμένα τη μέθοδο, θεωρείται ως παραλαβή αίτησης.
Ιστορικό προγράμματος περιήγησης:
Με τη μέθοδο "Λήψη" αποστέλλονται δεδομένα μέσω διευθύνσεων URL, τα ήδη αποστέλλοντα δεδομένα παραμένουν στο ιστορικό των προγραμμάτων περιήγησης ιστού. Επομένως, ο καθένας μπορούσε να δει τι έστειλε στους διακομιστές εξετάζοντας το ιστορικό του προγράμματος περιήγησης. Η μέθοδος Post δεν δημιουργεί μια τέτοια πιθανότητα, καθώς ποτέ δεν επιτρέπει στους browsers να αποθηκεύουν πληροφορίες. Στην πραγματικότητα, δεν υπάρχει τίποτα να κάνει με τα προγράμματα περιήγησης ιστού, όταν τα δεδομένα αποστέλλονται με τη μέθοδο Post, καθώς όλα αποστέλλονται μέσω μηνυμάτων.
Ποια είναι ασφαλή;
Έχουμε αναλύσει διάφορες διαφορές μεταξύ των μεθόδων Get και Post και είναι καιρός να μάθουμε ποια είναι εξασφαλισμένη; Ας δούμε τους διάφορους παράγοντες ασφάλειας για να προσδιορίσουμε το ίδιο.
- Σελιδοδείκτης: Η μέθοδος Get επιτρέπει τη δημιουργία σελιδοδεικτών, αλλά η Post δεν την επιτρέπει ποτέ. Τα δεδομένα σελιδοδεικτών μπορούν να προβληθούν αργότερα από οποιονδήποτε και αποτελεί απολύτως απειλή για την ασφάλεια! Εάν τα δεδομένα σας περιέχουν πολύ ευαίσθητες πληροφορίες, όπως κωδικούς πρόσβασης, στοιχεία τραπεζικού λογαριασμού κ.λπ., τότε το Get μπορεί να διαρρεύσει όλα αυτά σε άλλους. Ως εκ τούτου, είναι καλύτερο να προχωρήσετε με το Post αν χειρίζεστε ευαίσθητες πληροφορίες.
- Caching: Η μνήμη cache αποθηκεύει πληροφορίες για μελλοντικές αναζητήσεις και, στην πραγματικότητα, εξοικονομεί χρόνο μας. Αν και φαίνεται να κάνει μια χρήσιμη δουλειά, υπάρχουν πιθανότητες διαρροής δεδομένων όταν οι αποθηκευμένες πληροφορίες πηγαίνουν σε λάθος χέρια. Το Get επιτρέπει την προσωρινή αποθήκευση, ενώ το Post δεν επιτρέπει ποτέ προσωρινή αποθήκευση σε cache! Επομένως, το Post παραμένει πιο ασφαλές από το Get.
- Ανανέωση ή Επιστροφή: Όταν κάνετε κλικ στο εικονίδιο Ανανέωση ή Επιστροφή, η διεύθυνση URL της ιστοσελίδας εκτελείται εκ νέου. Αλλά αυτή η εκ νέου εκτέλεση δεν συμβαίνει όταν τα παλαιότερα δεδομένα βρίσκονται στη μνήμη προσωρινής αποθήκευσης του συστήματός σας. Έτσι, σε ένα τέτοιο σενάριο, υπάρχουν πιθανότητες να λάβετε τα δεδομένα που έχουν ήδη ληφθεί από το διακομιστή μετά την Ανανέωση ή την Επιστροφή. Πρέπει να προσδιορίσουμε πότε συμβαίνει αυτό το σενάριο, είτε με το Get or Post; Καθώς γνωρίζουμε ότι η αποθήκευση γίνεται με το Get και όχι με το Post, η παλιότερη ανάκτηση δεδομένων είναι δυνατή μόνο με το Get. Ακόμα και μπορεί να συμβεί με την Post αλλά ζητά την άδεια του χρήστη πριν το κάνει. Ναι, λαμβάνουμε ειδοποιήσεις πριν από αυτές τις ανακλήσεις στο Post.
- Hacking: Όποιος είναι τεχνικά ισχυρός μπορεί εύκολα να σπάσει τη διεύθυνση URL που σχετίζεται με τη μέθοδο Get και μπορεί να συλλάβει τις πληροφορίες μας. Αλλά αυτό δεν είναι δυνατό με το Post και τουλάχιστον απαιτεί μεγάλες προσπάθειες για να το σπάσει! Έτσι, οι περισσότερες φορές είμαστε ασφαλείς όταν χρησιμοποιείται το Post αντί να χρησιμοποιήσουμε το Get.
Πότε πρέπει να χρησιμοποιήσετε το στοιχείο Λήψη & Πότε να χρησιμοποιήσετε τη Δημοσίευση;
Από τη συζήτησή μας, είναι πολύ σαφές ότι το Get είναι λιγότερο ασφαλές και δεν είναι σκόπιμο να το χρησιμοποιήσουμε όταν χειριζόμαστε πολύ ευαίσθητες πληροφορίες. Η προσωρινή αποθήκευση και το ιστορικό του προγράμματος περιήγησης ιστού μπορούν να επιτρέψουν την ενημέρωσή μας σε άλλους στην περίπτωση του Get.Ωστόσο, το Post παραμένει ασφαλές ακόμη και σε τέτοιες περιπτώσεις, καθώς δεν επιτρέπει ποτέ την προσωρινή αποθήκευση, τη δημιουργία σελιδοδεικτών, κλπ. Επομένως, είναι προτιμότερο να χρησιμοποιείτε το Post όταν στέλνετε πολλά ασφαλή δεδομένα.
Ας δούμε τις διαφορές σε μια ευκολότερη κατανόηση της πινακοποιημένης φόρμας.
S. Όχι |
Διαφορές σε |
Αιτήσεις HTTP |
|
GET |
POST |
||
1 | Σύνταξη | Χρησιμοποιεί τη λέξη κλειδί 'get'. | Χρησιμοποιεί τη λέξη-κλειδί 'Δημοσίευση'. |
2 | Πώς αποστέλλονται οι εισροές; | Μαζί με την προσθήκη του URL μετά το σύμβολο '; '. | Με τη μορφή μηνυμάτων. |
3 | Τύπος εισόδου | Χαρακτήρες ASCII. | Χαρακτήρες ASCII ή δυαδικό. |
4 | Αριθμός παραμέτρων | Μπορεί να χειριστεί παραμέτρους 2k έως 64k βάσει του διακομιστή. | Δεν υπάρχει όριο. |
5 | Μέγεθος εισαγωγής | Επιτρέπει έως και 2048 χαρακτήρες. | Δεν υπάρχει όριο. |
6 | Ορατότητα των δεδομένων που αποστέλλονται | Παραμένει ορατό σε όλους καθώς βρίσκεται στο χώρο URL. | Δεν μπορεί να θεωρηθεί ότι στέλνεται ως μήνυμα. |
7 | Η προεπιλεγμένη μέθοδος HTTP | Ναι. | Όχι. |
8 | Ιστορικό προγράμματος περιήγησης | Τα αποστέλλοντα δεδομένα παραμένουν στο ιστορικό του προγράμματος περιήγησης ιστού και μπορούν αργότερα να προβληθούν από οποιονδήποτε. | Τα δεδομένα που στάλθηκαν nev. ο χρήστης βρίσκεται στο ιστορικό του προγράμματος περιήγησης ιστού και συνεπώς κανείς δεν μπορεί αργότερα να το δει. |
9 | Τοποθέτηση σελιδοδεικτών | Επιτρέπει τη διαγραφή σελιδοδείκτη και, με τη σειρά του, την αποστολή των δεδομένων. | Δεν υπάρχει τίποτα να κάνει με τα αποστελλόμενα δεδομένα, ακόμη και οι ιστοσελίδες έχουν επισημανθεί. Καθώς οι σελίδες με σελιδοδείκτες δεν αποθηκεύουν πληροφορίες χρήστη. |
10 | Caching | Οι αποθηκευμένες σελίδες αποθηκεύουν την είσοδο χρήστη και επιτρέπουν τη μελλοντική ανάκτηση. | Οι αποθηκευμένες σελίδες δεν αποθηκεύουν ποτέ την είσοδο του χρήστη. |
11 | Ανανέωση ή Επιστροφή | Οι ενέργειες Ανανέωση ή Επιστροφή δεν εκτελούν εκ νέου την αίτηση εάν οι παλαιότερες εκτελέσεις παραμένουν στη μνήμη προσωρινής αποθήκευσης. Επίσης, μια τέτοια ανάκτηση από την προσωρινή μνήμη γίνεται χωρίς κανένα μήνυμα ειδοποίησης προς το χρήστη. Επομένως, ο χρήστης μπορεί να πιστεύει ότι είναι ο τελευταίος αλλά, με τη σειρά του, ο διακομιστής μπορεί να περιέχει διαφορετικά δεδομένα. | Οι ενέργειες Ανανέωση ή Επιστροφή συγκεντρώνουν τα δεδομένα από την προσωρινή μνήμη μόνο μετά την αποστολή ενός μηνύματος ειδοποίησης στον χρήστη. Ο χρήστης μπορεί να το ακυρώσει και μπορεί να το εκτελέσει ακόμη και για να ανακτήσει τα τελευταία δεδομένα από την προσωρινή μνήμη. |
12 | Hacking | Μπορεί να γίνει εύκολα. | Είναι δύσκολο να χαράξουμε. |
13 | Πότε πρέπει να χρησιμοποιήσετε; | Είναι καλύτερο να στέλνετε λιγότερο ευαίσθητα δεδομένα, όπως ερωτήματα αναζήτησης, μηνύματα συνομιλίας, περιεχόμενο κοινωνικών μέσων, online έρευνα κ.λπ., όπου δεν υπάρχει καμία ανησυχία για την ασφάλεια. | Είναι ιδανικό για την αποστολή πολλών ευαίσθητων δεδομένων, όπως κωδικούς πρόσβασης, στοιχεία τραπεζικού λογαριασμού κ.λπ., όπου η ασφάλεια προκαλεί τις μεγαλύτερες ανησυχίες. |
Επομένως, είμαστε σαφείς ότι το Get and Post κάνει την εργασία αποστολής εισόδου στο διακομιστή αλλά και οι δύο λειτουργούν διαφορετικά. Με βάση την ανάγκη μπορούμε να χρησιμοποιήσουμε τις μεθόδους apt HTTP i. μι. το Get ή το Post.