درخدمت شما هستیم با آموزش HTTP در Node.js + ایجاد سرور و دریافت داده از وب سایت آموزش برنامه نویسی سورس باران. در این جلسه که بخش چهارم آموزش Node.js است معرفی و آشنایی کامل با ایجاد وب سرور HTTP در Node.js را خواهیم داشت .چارچوب Node.js بیشتر برای ایجاد برنامه های مبتنی بر سرور استفاده می شود. این چارچوب به راحتی قابل استفاده برای ایجاد وب سرورها است که می توانند محتوا را به کاربران ارائه دهند.
آموزش HTTP در Node.js
در Nod.js ماژول های متنوعی مانند ماژول “http” و “request” وجود دارد که به پردازش درخواست های مربوط به سرور در فضای سرور کمک می کند. ما نگاهی خواهیم انداخت که چگونه می توانیم با استفاده از Node js یک برنامه اصلی وب سرور ایجاد کنیم.
Node به عنوان یک وب سرور با استفاده از HTTP
بیایید به نمونه ای از چگونگی ایجاد و اجرای اولین برنامه Node js نگاهی بیندازیم. برنامه ما قصد دارد یک ماژول سرور ساده که به درگاه شماره 7000 گوش دهد، را ایجاد کند. اگر درخواستی از طریق مرورگر در این شماره پورت انجام نشود ، برنامه سرور پاسخ ” Hello World’ ” را به مشتری ارسال می کند.
توضیح کد:
- کارکرد اصلی تابع Require این است که یک فایل JavaScript را بخواند ، پرونده را اجرا کند ، و سپس به بازگرداندن شیء exports بپردازد. بنابراین دراین مورد ، از آنجا که ما می خواهیم از قابلیت های ماژول http استفاده کنیم ، از تابع Require برای بدست آوردن توابع مورد نظر از ماژول http استفاده می کنیم تا بتوان از آن در برنامه ما استفاده کرد.
- این خط کد ، ما در حال ایجاد یک برنامه سرور هستیم که مبتنی بر یک تابع ساده است. این تابع هر زمان که درخواستی برای برنامه سرور ما ایجاد شود ، فراخوانی می شود.
- هنگامی که یک درخواست دریافت شد ، ما می خواهیم با یک نوع عنوان “200” پاسخی ارسال کنیم. این عدد یک پاسخ عادی است که در صورت ارسال یک پاسخ موفق به مشتری ، در یک سرور http ارسال می شود.
- در خود پاسخ ، ما رشته ” Hello World ” را ارسال می کنیم.
- سپس ما از توابع listen استفاده می کنیم تا برنامه سرور ما به درخواست های مشتری در پورت شماره 7000 گوش دهد. شما می توانید هر درگاه موجود را از اینجا مشخص کنید.
اگر این دستور با موفقیت اجرا شود ، هنگام اجرای کد خود در مرورگر ، خروجی زیر نشان داده می شود.
خروجی
از خروجی ،به وضوح می بینید که اگر URL localhost در پورت 7000 جستجو کنیم ، رشته “Hello World” نمایش داده شده در صفحه را مشاهده خواهید کرد. از آنجا که در این کد به طور خاص برای گوش دادن به سرور شماره 7000 ذکر کرده ایم ، ما قادر به مشاهده خروجی ،هنگام مرور این آدرس اینترنتی هستیم. در اینجا کد مرجع شما وجود دارد.
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 بسیار ساده است. برای ایجاد درخواست Get در نود ، ابتدا باید ماژول درخواست را نصب کنیم. این کار را می توان با اجرای خط زیر در خط فرمان انجام داد.
npm install request
دستور فوق از مدیر بسته نود درخواست می کند که ماژول های درخواست مورد نیاز را بارگیری کرده و براساس آن نصب کند. هنگامی که ماژول npm شما با موفقیت نصب شد ، خط فرمان ، نام و نسخه ماژول نصب شده را نشان می دهد: <name> @ <version>.
در عکس فوری بالا ، می بینید که ماژول “request” به همراه نسخه شماره 2.67.0 بارگیری و نصب شده است. حال اجازه دهید کدی را ببینیم که می تواند از این دستور “Request” استفاده کند.
توضیح کد:
- ما در حال استفاده از ماژول ‘need’ هستیم که در آخرین مرحله نصب شده است. این ماژول توابع لازم را دارد که می تواند برای ایجاد درخواست GET به وب سایتها مورد استفاده قرار گیرد.
- ما در حال دریافت درخواست GET به google.com هستیم و در صورت دریافت پاسخ ، تابعی را فراخوانی می کنیم. در صورت دریافت پاسخ پارامترهای (خطا ، پاسخ و بدنه) مقادیر زیر را خواهند داشت.
1- خطا- در صورت بروز هرگونه خطا هنگام استفاده از درخواست GET ، در اینجا ثبت می شود.
2- پاسخ- پاسخ هدرهای http را که در پاسخ ارسال می شود ، خواهد داشت.
3- بدنه- بدن شامل کل محتوای پاسخی است که توسط 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” استفاده شود. این نرم افزار را می توان برای گوش دادن به درگاه خاص و ارسال پاسخ به مشتری هر زمان که درخواستی برای برنامه ارسال شده باشد ، ساخت.
ماژول “request” می تواند برای بدست آوردن اطلاعات از وب سایتها استفاده شود. این اطلاعات شامل کل محتوای صفحه وب است که از وب سایت مربوطه درخواست شده است.
برگرفته از : guru99
لیست تمامی جلسات آموزش Node.js
- آموزش Node.js در ۳ روز: آشنایی با Node.js
- آموزش دانلود و نصب Node.js -NPM در ویندوز
- آموزش Node.js در ۳ روز: ایجاد،انتشار،گسترش و مدیریت در Node.js
- آموزش HTTP در Node.js + ایجاد سرور و دریافت داده
- آموزش فریم ورک Express در Node.js در ۱۰ دقیقه
- آموزش promise در برنامه نویسی Node.js
- آموزش تولید promise با کتابخانه BlueBird در Node.js
- آموزش Generators در Node.js و مقایسه با توابع Callbacks
- آموزش جریان داده یا Streams در Node.js : کار با Filestream و Pipes در Node.js
- آموزش تست Node.js با Jasmine
- تفاوت Node.Js و AngulrJS
- تفاوت Node js و Python
- آموزش MongoDB در Node.js
- کتاب آموزش Node.js برای مبتدی ها بصورت کاملا گویا
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- منبع : سورس باران
- رمز فايل : www.sourcebaran.com
- انتشار: ۱۴ مهر ۱۳۹۸
دسته بندی موضوعات
- آموزش برنامه نویسی
- آموزش کریپتو کارنسی (ارز دیجیتال)
- آموزش متنی برنامه نویسی
- پروژه برنامه نویسی
- فروشگاه
- فیلم های آموزشی
- #F
- ++C
- 3ds max
- Ada
- ADO.NET
- Adobe Flash
- Agile
- Ajax
- AngularJS
- Anime Studio
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- assembly
- AVR
- Azure
- Bootstrap
- Cassandra
- CCNA
- CCNP
- CCSP
- ChatGPT
- Cisco
- CMD
- COBOL
- CSS
- Cython
- Django
- Dreameaver
- Elixir
- EntityFramework
- Erlang
- Flash
- Go
- Groovy
- Haskell
- Htaccess
- HTML
- IOS
- Jade
- jquery
- Kendo UI
- Linq
- Linux
- LUA
- MariaDB
- maya
- Meteor
- MongoDB
- Mono Android
- MonoGame
- Mysql
- NoSQL
- Oracle
- Orchard
- Perl
- php
- PHPMyAdmin
- R
- Rational Rose
- Ruby
- Rust
- Scala
- Scrum Master
- SFML
- SharePoint
- SignalR
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- Vue 3
- WPF
- Xml
- آردوینو
- آموزش های پروژه محور
- آیونیک
- اتوکد
- الگوریتم تقریبی
- الگوریتم نویسی و فلوچارت
- امنیت
- اندروید
- اندروید استودیو
- انیمیشن سازی
- بازی سازی با Scratch
- بک ترک
- بیسیک فور اندروید
- پایتون
- پرولوگ
- پریمیر
- جاوا
- جاوا اسکریپت
- جنگو
- جوملا
- دارت
- دلفی
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- ساخت اتوران
- ساختمان داده ها
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کاتلین
- کامپایلرها
- کانستراکت
- کریستال ریپورت
- کلوژر
- گوگل آنالیتیکس
- گیت
- لاراول
- مای بی بی
- مایکروسافت پروجکت
- متریال دیزاین
- متلب
- معماری کامپیوتر
- مهندسی اینترنت
- میکروتیک
- نود جی اس
- نیوک
- هوش مصنوعی
- ویبولوتین
- ویژوال استودیو
- یونیتی
- کتاب های آموزشی
- Ada
- Ajax
- Android
- ASP.NET
- ASP.NET Core
- AVR
- clips
- CNC
- COBOL
- CQRS
- Cython
- Dreamweaver
- Elixir
- Entity Framework 4.0
- Erlang
- Go
- Groovy
- Haskell
- LINQ
- Lua
- Matlab
- MFC
- Node.js
- PERL
- php
- PLC
- Prolog
- React
- Rust
- Scala
- SFML
- SharePoint
- silver light
- VHDL
- VMware
- WinJS
- Workflow
- WPF
- XHTML
- Yii Framework
- اتوکد
- اچ تی ام ال
- اسمبلی
- اکتیو ایکس
- الگوریتم و فلوچارت
- انگولار
- اوبونتو
- اوراکل
- بازی سازی
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- بک ترک
- پاسکال
- پایان نامه
- پایتون
- پرولوگ
- جاوا
- جاوا اسکریپت
- جی کوئری
- حوملا
- داده کاوی
- دلفی
- رباتیک
- روبی
- زبان ماشین
- سئو
- ساختمان داده ها
- سایر کتاب ها
- سخت افزار
- سوئیفت
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- سیستم عامل
- سیستم های خبره
- شبکه و مجازی سازی
- شبیه سازی کامپیوتر
- طراحی الگوریتم
- فتوشاپ
- فریم ورک گتنا
- کاتلین
- کالی لینوکس
- کریستال ریپورت
- گزارش کارآموزی
- گوگل
- لیسپ
- متلب
- مقاله
- مهندسی نرم افزار
- نیوک
- هوش مصنوعی
- وب مستر
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس