هدف از این راهنما ، ارائه درک کاملی از روند رسیدگی به Node. js HTTP است. ما فرض خواهیم کرد که شما می دانید ، به معنای کلی ، چگونه HTTP درخواست می کند ، صرف نظر از زبان یا محیط برنامه نویسی. ما همچنین کمی آشنایی با Node. js EventEmitters و جریان ها را فرض خواهیم کرد. اگر با آنها کاملاً آشنا نیستید ، ارزش خواندن سریع اسناد API را برای هر یک از این موارد دارید.
سرور را ایجاد کنید
هر برنامه وب سرور گره در بعضی مواقع باید یک شیء سرور وب ایجاد کند. این کار با استفاده از CreateServer انجام می شود.
عملکردی که به CreateServer منتقل شده است ، یک بار برای هر درخواست HTTP که در برابر آن سرور ساخته شده است ، خوانده می شود ، بنابراین آن را کنترل کننده درخواست می نامند. در حقیقت ، شیء سرور که توسط CreateServer بازگردانده شده است ، یک EventEmitter است ، و آنچه ما در اینجا داریم فقط برای ایجاد یک شیء سرور و سپس اضافه کردن شنونده بعداً است.
هنگامی که یک درخواست HTTP به سرور برخورد می کند ، گره برای برخورد با معامله ، درخواست و پاسخ ، عملکرد کنترل کننده درخواست را با چند شیء مفید فراخوانی می کند. به زودی به آنها خواهیم رسید.
برای اینکه واقعاً درخواست ها را ارائه دهد ، باید روش گوش دادن به شیء سرور فراخوانی شود. در بیشتر موارد ، تنها چیزی که برای گوش دادن به آن باید منتقل کنید شماره پورت ای است که می خواهید سرور به آن گوش کند. گزینه های دیگری نیز وجود دارد ، بنابراین با مرجع API مشورت کنید.
روش ، URL و هدرها
هنگام رسیدگی به یک درخواست ، اولین کاری که احتمالاً می خواهید انجام دهید این است که به روش و URL نگاه کنید ، به طوری که می توان از اقدامات مناسب استفاده کرد. Node. js با قرار دادن خصوصیات مفید بر روی شی درخواست ، این مسئله را نسبتاً بدون درد ایجاد می کند.
روش در اینجا همیشه یک روش/فعل HTTP معمولی خواهد بود. URL URL کامل بدون سرور ، پروتکل یا درگاه است. برای یک URL معمولی ، این به معنای همه چیز پس از و از جمله سوتین سومین رو به جلو است.
هدرها نیز دور نیستند. آنها به درخواست خود به نام Headers در شیء خودشان هستند.
توجه به این نکته حائز اهمیت است که همه هدرها صرف نظر از نحوه ارسال مشتری در واقع ، فقط در موارد پایین نشان داده می شوند. این کار تجزیه و تحلیل هدرها را برای هر منظور ساده می کند.
اگر برخی از هدرها تکرار شوند ، بسته به هدر ، ارزشهای آنها رونویسی می شوند یا به عنوان رشته های جدا از کاما به هم می پیوندند. در بعضی موارد ، این می تواند مشکل ساز باشد ، بنابراین Rawheaders نیز در دسترس است.
:: بازدید از این مطلب : 48
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0