|
|
Δημοσιεύτηκε στις 2020-8-5 20:54:24
|
|
|
|

Όταν ένα πρόγραμμα περιήγησης ζητά πόρους από μια ιστοσελίδα ενός ονόματος τομέα σε ένα άλλο όνομα τομέα, το όνομα τομέα, η θύρα και το πρωτόκολλο διαφέρουν και είναι μεταξύ τομέων.
Έχω γράψει πολλά για το cross-domain ο ίδιος, ως εξής:
Υπάρχουν επίσης συγκεκριμένες περιγραφές για το τι είναι cross-domain:
Το Πρότυπο κοινής χρήσης πόρων μεταξύ τομέων προσθέτει ένα νέο σύνολο πεδίων κεφαλίδας HTTP που επιτρέπουν στον διακομιστή να δηλώσει ποιες προελεύσεις έχουν πρόσβαση σε ποιους πόρους μέσω του προγράμματος περιήγησης. Επιπλέον, η προδιαγραφή απαιτεί ότι για μεθόδους αίτησης HTTP που μπορεί να έχουν παρενέργειες στα δεδομένα διακομιστή (ειδικά αιτήσεις HTTP εκτός από GET ή με ορισμένους τύπους αιτήσεων MIME POST), το πρόγραμμα περιήγησης πρέπει πρώτα να ξεκινήσει μια αίτηση προκαταρκτικού ελέγχου χρησιμοποιώντας τη μέθοδο OPTIONS για να γνωρίζει εάν η αίτηση μεταξύ τομέων επιτρέπεται από τον διακομιστή. Ο διακομιστής επιβεβαιώνει ότι επιτρέπεται πριν από την υποβολή του πραγματικού αιτήματος HTTP. Κατά την επιστροφή ενός αιτήματος προκαταρκτικού ελέγχου, ο διακομιστής μπορεί επίσης να ενημερώσει τον πελάτη εάν χρειάζεται να φέρει διαπιστευτήρια ταυτότητας (συμπεριλαμβανομένων των cookies και των δεδομένων που σχετίζονται με τον έλεγχο ταυτότητας HTTP).
Έλεγχος πρόσβασης HTTP (CORS)
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Το περασμένο Σαββατοκύριακο, στη σελίδα εισαγωγής του ιστολογίου μου, επέστρεψα τον τίτλο του άρθρου στον χρήστη με τη μορφή κλήσης της διεπαφής, επειδή κλήθηκε σε άλλα ονόματα τομέα δεύτερου επιπέδου, επομένως υπήρχε πρόβλημα μεταξύ τομέων, η πρόσβαση στη διεπαφή έγινε μέσω αιτήματος POST και ξέχασα να ορίσω το αίτημα OPTIONS στην αρχή, οπότε το σφάλμα αναφέρθηκε ως εξής:
Η διεπαφή είναι γραμμένη asp.net ελεγκτή mvc, επομένως χρειάζεται μόνο να προσθέσετε ένα άλλο αίτημα OPTIONS και να επιτρέψετε cross-domain, ο κώδικας έχει ως εξής:
access-control-allow-headers: *
access-control-allow-methods: GET, POST, PUT, DELETE
access-control-allow-origin: *
cache-control: private
content-length: 0
date: Wed, 05 Aug 2020 12:43:22 GMT
status: 200
(Τέλος)
|
Προηγούμενος:Εκμάθηση SSIS (7) Ο SQL Server 2012 εκτελεί εργασίες SSISΕπόμενος:Δεδομένα διεπαφής μετοχών Tencent, Hexun.com, Sina, Snowball, NetEase
|