Το πλαίσιο Node.js χρησιμοποιείται κυρίως για τη δημιουργία εφαρμογών που βασίζονται σε διακομιστές. Το πλαίσιο μπορεί εύκολα να χρησιμοποιηθεί για τη δημιουργία διακομιστών ιστού που μπορούν να εξυπηρετούν περιεχόμενο στους χρήστες.
Υπάρχει μια ποικιλία ενοτήτων, όπως η ενότητα "http" και "request", η οποία βοηθά στην επεξεργασία αιτημάτων σχετικών με διακομιστή στο χώρο διακομιστή ιστού. Θα ρίξουμε μια ματιά στο πώς μπορούμε να δημιουργήσουμε μια βασική εφαρμογή διακομιστή Ιστού χρησιμοποιώντας το Node js.
Κόμβος ως διακομιστής ιστού με χρήση HTTP
Ας δούμε ένα παράδειγμα για τον τρόπο δημιουργίας και εκτέλεσης της πρώτης εφαρμογής Node js.
Η εφαρμογή μας πρόκειται να δημιουργήσει μια απλή ενότητα διακομιστή η οποία θα ακούσει στη θύρα αριθ. 7000. Εάν ένα αίτημα υποβάλλεται μέσω του προγράμματος περιήγησης σε αυτήν τη θύρα όχι, τότε η εφαρμογή διακομιστή θα στείλει μια απάντηση «Hello World» στον πελάτη.
Επεξήγηση κώδικα:
- Η βασική λειτουργικότητα της απαιτούμενης συνάρτησης είναι ότι διαβάζει ένα αρχείο JavaScript, εκτελεί το αρχείο και στη συνέχεια προχωρά στην επιστροφή του αντικειμένου εξαγωγής. Έτσι, στην περίπτωσή μας, δεδομένου ότι θέλουμε να χρησιμοποιήσουμε τη λειτουργικότητα της μονάδας http, χρησιμοποιούμε τη συνάρτηση απαιτήσεων για να λάβουμε τις επιθυμητές λειτουργίες από τη μονάδα http έτσι ώστε να μπορεί να χρησιμοποιηθεί στην εφαρμογή μας.
- Σε αυτήν τη γραμμή κώδικα, δημιουργούμε μια εφαρμογή διακομιστή που βασίζεται σε μια απλή λειτουργία. Αυτή η λειτουργία καλείται κάθε φορά που υποβάλλεται ένα αίτημα στην εφαρμογή διακομιστή μας.
- Όταν λαμβάνεται ένα αίτημα, λέμε να στείλουμε μια απάντηση με έναν τύπο κεφαλίδας "200". Αυτός ο αριθμός είναι η κανονική απόκριση που αποστέλλεται σε μια κεφαλίδα http όταν μια επιτυχής απάντηση αποστέλλεται στον πελάτη.
- Στην ίδια την απάντηση, στέλνουμε τη συμβολοσειρά «Hello World».
- Στη συνέχεια, χρησιμοποιούμε τη λειτουργία server.listen για να κάνουμε την εφαρμογή διακομιστή μας να ακούει αιτήματα πελατών στη θύρα αριθ. 7000. Μπορείτε να καθορίσετε οποιαδήποτε διαθέσιμη θύρα εδώ.
Εάν η εντολή εκτελεστεί με επιτυχία, η ακόλουθη έξοδος θα εμφανιστεί όταν εκτελείτε τον κωδικό σας στο πρόγραμμα περιήγησης.
Παραγωγή:
Από την έξοδο,
- Μπορείτε να δείτε ξεκάθαρα ότι αν περιηγηθούμε στη διεύθυνση URL του localhost στη θύρα 7000, θα δείτε τη συμβολοσειρά «Hello World» να εμφανίζεται στη σελίδα.
- Επειδή στον κώδικά μας έχουμε αναφέρει ειδικά για τον διακομιστή για ακρόαση στη θύρα 7000, είμαστε σε θέση να δούμε την έξοδο κατά την περιήγηση σε αυτήν τη διεύθυνση url.
Εδώ είναι ο κωδικός για την αναφορά σας
var http=require('http')var server=http.createServer((function(request,response){response.writeHead(200,{"Content-Type" : "text/plain"});response.end("Hello World\n");}));server.listen(7000);
Χειρισμός αιτημάτων GET στο Node.js
Η υποβολή αιτήματος GET για λήψη δεδομένων από άλλον ιστότοπο είναι σχετικά πολύ απλή στο Node.js. Για να υποβάλετε αίτημα λήψης στον κόμβο, πρέπει πρώτα να εγκαταστήσουμε τη μονάδα αιτήματος Αυτό μπορεί να γίνει εκτελώντας την ακόλουθη γραμμή στη γραμμή εντολών
αίτημα εγκατάστασης npm
Η παραπάνω εντολή ζητά από τον διαχειριστή πακέτων Node να κατεβάσει τις απαιτούμενες ενότητες αιτήματος και να τις εγκαταστήσει ανάλογα.
Όταν η μονάδα npm έχει εγκατασταθεί με επιτυχία, η γραμμή εντολών θα εμφανίσει το όνομα και την έκδοση της εγκατεστημένης μονάδας: <όνομα> @ <μετατροπή>.
Στο παραπάνω στιγμιότυπο, μπορείτε να δείτε ότι έγινε λήψη και εγκατάσταση της λειτουργικής μονάδας «αίτημα» μαζί με τον αριθμό έκδοσης 2.67.0.
Τώρα ας δούμε τον κωδικό που μπορεί να κάνει χρήση αυτής της εντολής «αίτημα».
Επεξήγηση κώδικα:
- Χρησιμοποιούμε την ενότητα «αίτημα» που εγκαταστάθηκε στο τελευταίο βήμα. Αυτή η ενότητα έχει τις απαραίτητες λειτουργίες που μπορούν να χρησιμοποιηθούν για την υποβολή αιτημάτων GET σε ιστότοπους.
- Υποβάλλουμε αίτημα GET στη διεύθυνση www.google.com και στη συνέχεια καλούμε μια συνάρτηση όταν λαμβάνεται μια απάντηση. Όταν ληφθεί μια απόκριση, οι παράμετροι (σφάλμα, απόκριση και σώμα) θα έχουν τις ακόλουθες τιμές
- Σφάλμα - Σε περίπτωση που ληφθεί κάποιο σφάλμα κατά τη χρήση του αιτήματος GET, θα καταγραφεί εδώ.
- Απάντηση - Η απόκριση θα έχει τις κεφαλίδες http που θα σταλούν πίσω στην απάντηση.
- Body - Το σώμα θα περιέχει ολόκληρο το περιεχόμενο της απάντησης που στάλθηκε από την Google.
- Σε αυτό, γράφουμε απλώς το περιεχόμενο που λαμβάνεται στην παράμετρο σώματος στο αρχείο console.log. Βασικά, ό, τι παίρνουμε από τη διεύθυνση www.google.com θα γράφεται στο console.log.
Εδώ είναι ο κωδικός για την αναφορά σας
var request = require("request");request("http://www.google.com",function(error,response,body){console.log(body);});
Περίληψη
- Το πλαίσιο Node.js μπορεί να χρησιμοποιηθεί για την ανάπτυξη διακομιστών ιστού χρησιμοποιώντας την ενότητα «http». Η εφαρμογή μπορεί να γίνει για ακρόαση σε μια συγκεκριμένη θύρα και αποστολή απάντησης στον πελάτη κάθε φορά που υποβάλλεται αίτηση στην εφαρμογή.
- Η ενότητα «αίτημα» μπορεί να χρησιμοποιηθεί για τη λήψη πληροφοριών από ιστότοπους. Οι πληροφορίες θα περιέχουν ολόκληρο το περιεχόμενο της ιστοσελίδας που ζητείται από τον σχετικό ιστότοπο.