Επαναλήψεις ελέγχου ταυτότητας μέσω διακομιστή μεσολάβησης και σώματα μεταφόρτωσης που δεν επαναλαμβάνονται
Κατανοήστε γιατί οι επαναλήψεις ελέγχου ταυτότητας μπορούν να εκθέσουν μια ροή μεταφόρτωσης μίας χρήσης και επιλέξτε συνειδητά περιορισμένη προσωρινή αποθήκευση ή επαναλήψιμο περιεχόμενο.
Ένα GET μπορεί να πιστοποιηθεί μέσω διακομιστή μεσολάβησης, ενώ ένα POST ή PUT αποτυγχάνει με σφάλμα μη επαναλήψιμου σώματος ή επαναφοράς. Ο λογαριασμός μπορεί να είναι σωστός: μια ανταλλαγή ελέγχου ταυτότητας μπορεί να απαιτεί άλλο αίτημα αφού ο πελάτης έχει ήδη καταναλώσει τη μεταφόρτωση.
| Πηγή σώματος | Επιλογή επανάληψης |
|---|---|
| Μικρό πεπερασμένο σώμα | Μια περιορισμένη προσωρινή μνήμη μπορεί να διατηρήσει τα byte του. |
| Αρχείο με δυνατότητα αναζήτησης | Η υποστηριζόμενη από τον πελάτη διεπαφή επαναφοράς μπορεί να το κάνει επαναλήψιμο. |
| Γεννήτρια, σωλήνας ή ζωντανός παραγωγός | Μια πηγή μίας χρήσης μπορεί να απαιτεί άλλο σχεδιασμό. |
Το libcurl τεκμηριώνει callbacks αναζήτησης για χρήσεις, συμπεριλαμβανομένου του ελέγχου ταυτότητας πολλαπλών περασμάτων. Το Jersey προσφέρει λειτουργίες επεξεργασίας οντοτήτων με προσωρινή μνήμη και κατακερματισμένες, ανάλογα με τη συμπεριφορά της υποδοχής. Ένα παράδειγμα υποδοχής Jersey 2 Apache δείχνει τη ρύθμιση με προσωρινή μνήμη. Κανένα από τα δύο δεν καθιστά κατάλληλες τις απεριόριστες μεταφορτώσεις στη μνήμη.
Αναπαράγετε τη μέθοδο και την πηγή σώματος που αποτυγχάνουν. Ένα προπαρασκευαστικό GET δεν έχει μεταφόρτωση για επανάληψη και δεν αποδεικνύει ότι μια μεταγενέστερη μεταφόρτωση μοιράζεται τη σύνδεση ή την κατάσταση ελέγχου ταυτότητάς του. Ένας νέος προορισμός, αντικείμενο πελάτη ή πολιτική σύνδεσης μπορεί να το αλλάξει. Ένα σώμα που βασίζεται σε αρχείο και μια ζωντανή ροή διαφέρουν επίσης ακόμη και όταν το δείγμα κειμένου τους είναι το ίδιο.
Αν χρησιμοποιείτε προσωρινή μνήμη, καθορίστε το όριο μεγέθους, τη θέση αποθήκευσης και τη διάρκεια ζωής της. Οι ταυτόχρονες μεταφορτώσεις πολλαπλασιάζουν το κόστος και τα ευαίσθητα δεδομένα παραμένουν όπου κρατείται η προσωρινή μνήμη.
Προληπτικός έλεγχος ταυτότητας σε γνωστό συμβατό διακομιστή μεσολάβησης μπορεί να αποφύγει μία αρχική πρόκληση. Δεν μπορεί να αποκλείσει κάθε μεταγενέστερο γύρο ελέγχου ταυτότητας, ανακατεύθυνση ή κλειστή σύνδεση που μπορεί να απαιτεί άλλη προσπάθεια.
Κρατήστε μαζί την απάντηση του διακομιστή μεσολάβησης, το σημείο κατανάλωσης του σώματος και το σφάλμα επανάληψης. Έπειτα διακρίνετε την επανάληψη πρωτοκόλλου από ένα αβέβαιο αποτέλεσμα εφαρμογής: μια υποβολή μπορεί να είχε επεξεργαστεί πριν χαθεί η απάντησή της. Ακολουθήστε τους κανόνες ταυτοδυναμίας του προορισμού πριν την ξαναστείλετε.