λογισμικό

Γνώση Υπολογιστών >> λογισμικό >  >> SQL Server

Πώς επικοινωνούν ο διακομιστής ιστού και η βάση δεδομένων;

Οι διακομιστές ιστού και οι βάσεις δεδομένων επικοινωνούν κυρίως χρησιμοποιώντας μια αρχιτεκτονική πελάτη-διακομιστή, συνήθως μέσω μιας σύνδεσης δικτύου. Οι ειδικοί μηχανισμοί που χρησιμοποιούνται ποικίλλουν ανάλογα με τις εμπλεκόμενες τεχνολογίες, αλλά η γενική ροή είναι συνεπής:

1. Ο διακομιστής ιστού λαμβάνει ένα αίτημα:

* Ένας χρήστης αλληλεπιδρά με έναν ιστότοπο (π.χ. υποβάλλει μια φόρμα, κάνει κλικ σε έναν σύνδεσμο).

* Ο διακομιστής ιστού (π.χ. Apache, Nginx) λαμβάνει το αίτημα. Αυτό το αίτημα περιέχει συχνά πληροφορίες σχετικά με τον αιτούντο πόρο (π.χ. μια συγκεκριμένη ιστοσελίδα ή δεδομένα).

2. Ο διακομιστής ιστού συνδέεται με τη βάση δεδομένων:

* Η εφαρμογή διακομιστή ιστού (που γράφεται συχνά σε γλώσσες όπως η Python, η PHP, η Java, το Node.js κ.λπ.) λειτουργεί ως πελάτης στη βάση δεδομένων.

* Χρησιμοποιεί ένα σύνδεσμο βάσης δεδομένων ή ένα πρόγραμμα οδήγησης (ειδικά για το σύστημα βάσης δεδομένων που χρησιμοποιείται - π.χ., MySQL Connector/Python, JDBC για Java, Psycopg2 για το PostgreSQL) για να δημιουργήσει μια σύνδεση με τον διακομιστή βάσης δεδομένων. Αυτό περιλαμβάνει τον προσδιορισμό λεπτομερειών σύνδεσης όπως το όνομα κεντρικού υπολογιστή, το λιμάνι, το όνομα χρήστη και τον κωδικό πρόσβασης.

3. Ο διακομιστής ιστού στέλνει ένα ερώτημα:

* Η εφαρμογή διακομιστή ιστού στέλνει ένα ερώτημα (ένα δομημένο αίτημα για δεδομένα) στον διακομιστή βάσης δεδομένων χρησιμοποιώντας την καθιερωμένη σύνδεση. Αυτό το ερώτημα είναι συνήθως γραμμένο σε δομημένη γλώσσα ερωτήματος (SQL). Το ερώτημα μπορεί να είναι:

* Μια δήλωση `select` για την ανάκτηση δεδομένων.

* Μια δήλωση `insert` για να προσθέσετε νέα δεδομένα.

* Μια δήλωση `update` για την τροποποίηση των υφιστάμενων δεδομένων.

* Μια δήλωση διαγραφής για την κατάργηση δεδομένων.

4. Η βάση δεδομένων επεξεργάζεται το ερώτημα:

* Ο διακομιστής βάσης δεδομένων (π.χ. MySQL, PostgreSQL, MongoDB, Oracle) λαμβάνει το ερώτημα, το αναλύει και το εκτελεί έναντι των σχετικών δεδομένων.

5. Η βάση δεδομένων επιστρέφει το αποτέλεσμα:

* Ο διακομιστής βάσης δεδομένων στέλνει το αποτέλεσμα του ερωτήματος πίσω στην εφαρμογή διακομιστή ιστού. Αυτό το αποτέλεσμα μπορεί να είναι:

* Ένα σύνολο σειρών (για `Select` Queries).

* Ένα μήνυμα κατάστασης που υποδεικνύει την επιτυχία ή την αποτυχία (για `` insert ', `update`,' delete 'ερωτήματα).

6. Ο διακομιστής ιστού επεξεργάζεται το αποτέλεσμα:

* Η εφαρμογή διακομιστή ιστού λαμβάνει τα δεδομένα από τη βάση δεδομένων.

* Επεξεργάζεται αυτά τα δεδομένα (π.χ., τα μορφοποιούν σε HTML, JSON ή XML).

7. Ο διακομιστής ιστού στέλνει μια απάντηση:

* Ο διακομιστής ιστού στέλνει μια απάντηση πίσω στο πρόγραμμα περιήγησης του χρήστη. Αυτή η απάντηση συνήθως περιέχει τα επεξεργασμένα δεδομένα και είναι αυτό που βλέπει ο χρήστης στο πρόγραμμα περιήγησής του.

Πρωτόκολλα επικοινωνίας:

Η επικοινωνία μεταξύ του διακομιστή ιστού και της βάσης δεδομένων συμβαίνει συνήθως μέσω TCP/IP χρησιμοποιώντας ένα από τα παρακάτω:

* υποδοχές TCP: Ένας χαμηλού επιπέδου, αλλά ευέλικτος, τρόπος για τον διακομιστή ιστού να συνδεθεί απευθείας και να επικοινωνεί με τον διακομιστή βάσης δεδομένων.

* Πρωτόκολλα για συγκεκριμένη βάση δεδομένων: Ορισμένες βάσεις δεδομένων έχουν τα δικά τους εξειδικευμένα πρωτόκολλα (π.χ. εσωτερικό πρωτόκολλο της MySQL). Ωστόσο, αυτά συχνά αφαιρούνται από τις βιβλιοθήκες σύνδεσης βάσης δεδομένων.

Παράδειγμα (εννοιολογική):

Φανταστείτε έναν χρήστη που υποβάλλει μια φόρμα σύνδεσης.

1. Ο διακομιστής ιστού λαμβάνει το όνομα χρήστη και τον κωδικό πρόσβασης.

2. Ο διακομιστής ιστού χρησιμοποιεί μια υποδοχή βάσης δεδομένων για να συνδεθεί στη βάση δεδομένων.

3. Ο διακομιστής ιστού στέλνει ένα ερώτημα SQL όπως `select * από τους χρήστες όπου όνομα username ='john_doe'`

4. Η βάση δεδομένων εκτελεί το ερώτημα και επιστρέφει μια αντίστοιχη σειρά χρήστη (ή τίποτα αν δεν βρεθεί χρήστης).

5. Ο διακομιστής ιστού επαληθεύει τον κωδικό πρόσβασης έναντι των επιστρεφόμενων δεδομένων.

6. Εάν η σύνδεση είναι επιτυχής, ο διακομιστής ιστού στέλνει μια απάντηση που υποδεικνύει την επιτυχία, ίσως συμπεριλαμβανομένου ενός διακριτικού συνεδρίας. Διαφορετικά, στέλνει ένα μήνυμα σφάλματος.

Αυτή η διαδικασία είναι θεμελιώδης για το πώς λειτουργούν οι δυναμικοί ιστότοποι, επιτρέποντάς τους να ανακτήσουν και να χειρίζονται τα δεδομένα που είναι αποθηκευμένα σε μια βάση δεδομένων. Οι συγκεκριμένες λεπτομέρειες εφαρμογής μπορούν να γίνουν αρκετά περίπλοκα, αλλά οι βασικές αρχές παραμένουν οι ίδιες.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα