پروتکل HTTP چیست؟

طراحی وب

پروتکل HTTP چیست؟

لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که…

توسط علی مسعودخواه
-- آخرین بروزرسانی : ۱۲-۰۳-۱۳۹۸
-- بازدیدها : ۲۱
اشتراک گذاری در :
امتیازدهی به مطلب :
4+

لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد. کتابهای

پروتکل Http


پروتکل Http چیست؟

در گذشته روش استانداردی برای تبادل اطلاعات در شبکه اینترنت وجود نداشت. به همین دلیل تیم برنرز لی (Tim Berners-Lee) در سال ۱۹۹۱ پروتکل Http را با هدف پیاده سازی یک استاندارد برای تبادل اطلاعات در شبکه اینترنت ایجاد کرد. برنرز لی این پروتکل را به همراه ساختار اولیه HTML در یک وب سرور ساده و یک مرورگر مبتنی بر متن ارائه کرد.

Http مخفف عبارت Hyper Text Transfer Protocol است که به معنی پروتکلی برای انتقال ابرمتن ها می باشد. بر اساس این پروتکل، امکان ایجاد صفحات وب و سایت های اینترنتی فراهم شد. این پروتکل وظیفه برقراری ارتباط میان سرور و کلاینت را در یک شبکه کامپیوتری برعهده دارد. به عبارتی دیگر این پروتکل مسئولیت برقراری ارتباط بین سرویس دهندگان و سرویس گیرندگان وب را برعهده دارد.


منظور از Hypertext یا ابرمتن چیست؟

شاید برای شما سوال شود، که منظور از کلمه Hypertext چیست؟ منظور از Hypertext یا ابر متن، متن های بزرگ و طولانی است که به صورت HTML نوشته می شوند. البته برخلاف اینکه کدهای نوشته شده فقط به صورت متنی هستند، بعد از پردازش توسط مرورگر کاربر الزاما به صورت متنی نخواهند بود. یک سند HTML می تواند دارای تصویر، ویدئو، جدول ، لینک و… باشد. اگر هنوز نتوانسته اید به خوبی این موضوع را درک کنید، بهتر است خودتان به یک ابر متن نگاه کنید!

برای مثال صفحه اول سایت سون لرن را در نظر بگیرید. آن چه می بینید یک صفحه شکیل با اجزای مختلف از جمله تصویر، متن، کادربندی و… است. اما اگر قصد دارید پشت صحنه این صفحه وب را ببینید، کافی است با مرورگر خود (مثلا مرورگر کروم) روی صفحه کلیک راست کنید و روی گزینه Inspect کلیک کنید. آنچه الان می بینید یک Hypertext است.

پروتکل Http


پروتکل Http چگونه کار می کند؟

پروتکل Http

پروتکل Http از Handshaking به منظور ارسال و دریافت اطلاعات استفاده می کند. در این روش برای شروع و پایان عملیات تبادل اطلاعات بین سرور و کلاینت، چندین درخواست و پاسخ رد و بدل می شود. تصور کنید که کلاینت (مرورگر) فردی است که قصد دارد اطلاعات مربوط به یک سایت را دریافت کند. در ابتدا باید درخواستی با این هدف به سرور آن سایت ارسال کند. سپس باید صبر کند، تا از طرف سرور پاسخی برای درخواستش دریافت کند. در صورتی که اطلاعات خواسته شده در سرور موجود باشند، پاسخی مبنی بر موافقت ارسال اطلاعات برای شخص ارسال می شود.

آشنایی با فریم ورک های PHP

سپس بار دیگر از طرف کلاینت پیامی مبنی بر درخواست داده های اطلاعاتی به سرور فرستاده می شود. در این مرحله سرور پیام را دریافت کرده و داده های درخواست شده را در بسته های اطلاعاتی کوچک تری تقسیم می کند. در نهایت این بسته ها توسط پروتکل Handshaking پشت سر هم و به ترتیب برای شخص ارسال می شوند. لازم به ذکر است که در این فرآیند از پروتکل های TCP/IP به منظور افزایش امنیت و تضمین ارسال داده ها استفاده می شود. ارتباط بین کلاینت و سرور در این پروتکل معمولا از طریق پورت ۸۰ انجام می شود. همچنین به مجموعه اطلاعات تبادل شده بین دو کلاینت و سرور در این فذآیند، نشست یا session گفته می شود.


روش های درخواست در پروتکل http

پروتکل Http روش‌ های مختلفی را برای درخواست اطلاعات در شبکه وب تعریف کرده‌ است. هر کدام از این روش ها با هدف خاصی در وب سرورها استفاده می شوند. اولین نسخه این پروتکل (نسخه ۱) فقط از روش‌های درخواست GET, POST و HEAD پشتیبانی می کرد. اما در نسخه ۱٫۱ پنج روش جدید تحت عنوان های  OPTIONS, PUT, DELETE, TRACE و CONNECT اضافه شد. نحوه عملکرد هر کدام از این روش‌ ها به‌ طور کامل برای مرورگرها تعریف شده است. بنابراین تمامی مرورگرها و سرورها به راحتی می‌ توانند این روش‌ ها را پیاده‌ سازی کنند. در ادامه به توضیح هر کدام از این روش ها می پردازیم:

  • GET : پیام هایی که در این روش ارسال می شوند تنها شامل یک URL هستند. البته در این پیام ها می توان تعدادی پارامتر دلخواه در انتهای URL اضافه کرد. پارامترهای دلخواه در این پیام ها، در URL ارسال شده، به راحتی قابل مشاهده هستند. این نوع پیام ها پس از ارسال توسط سرور پردازش می شوند و در نهایت نتیجه آن به درخواست کننده یا همان مرورگر بر می گردد.
  • POST : در این نوع پیام ها، پارامترهای دلخواهی که اضافه می شود، قابل مشاهده نمی باشند. زیرا در این روش به جای اضافه کردن پارامترها در انتهای URL، آن ها در درون پیام درخواست شده قرار داده می شوند.
  • HEAD : این درخواست ها مشابه پیام های GET هستند. تفاوت این دو درخواست در این است که در پیام های Head به جای ارسال پاسخ های مربوط به محتوای URL، فقط داده های مربوط به header سایت را ارسال می کنند. این داده ها همان اطلاعاتی هستند که در قسمت <head> یک سند html وجود دارند.
  • PUT : در این روش داده هایی به همراه پیام درخواست به سرور ارسال می شود. سپس از سرور تقاضا می‌ شود که این داده ها را در آدرس مشخص شده ذخیره کند. اگر در محلِ درخواست شده از قبل داده های دیگری قرار ذخیره شده باشند، داده های جدید جایگزین خواهند شد.
  • TRACE : در این روش، سرور داده های ارسال شده را دقیقا به کلاینت یا درخواست کننده باز می‌ گرداند.
  • OPTIONS : زمانی از این روش استفاده می شود که بخواهند، روش های درخواست اطلاعات موجود برای یک آدرس را به دست آورند. این روش از سرور تقاضا می‌ کند تا روش‌ های درخواست موجود برای آدرس فرستاده شده را اعلام کند.
  • DELETE : از این روش برای حذف یک آدرس در سرور استفاده می شود.
  • CONNECT : این روش اطلاعات و داده ها را در پروتکل http به یک تونل TCP/IP تبدیل می‌ کند. این عمل معمولا برای برقراری ارتباط امن (HTTPS) بر روی یک پراکسی سرور ناامن استفاده می‌ شود.
  • PATCH : این روش در سال ۲۰۱۰ به پروتکل http اضافه شد. این روش برای ایجاد تغییرات جزیی بر روی داده ها مورد نظر در سرور استفاده می‌ شود.

ساختار Response ها و Request ها در Http

پروتکل Http

فرمت پیام های درخواست (Request) و پاسخ (Response) در پروتکل Http مشابه هم هستند. هر دو پیام ها شامل اجزای زیر می باشند:

  • خط شروع کننده : خط شروع کننده دارای ۳ بخش است که با Space از یکدیگر جدا شده اند. بخش اول نشان دهنده نسخه HTTP در حال استفاده (Version) است. دومین و سومین بخش از خط شروع کننده، نشان دهنده کد و پیام مربوط به وضعیت ارسال درخواست یا پاسخ است.
  • خطوط Header : خطوط Header اطلاعات لازم برای درخواست و یا پاسخ را آماده می کنند. هر Header در یک خط جدا تعریف می شود و ساختار آن ها به صورت KEY:VALUE است. در این بخش اطلاعاتی شامل نام سرور، اطلاعات مربوط به بدنه و… ذکر می شود.
  • یک خط خالی : پس خطوط Header یک خط خالی قرار می گیرد.
  • بدنه : یک پیام HTTP ممکن است بعد از خطوط Header شامل یک بدنه باشد. در این بخش اطلاعاتی مانند داده های وارد شده توسط کاربر، نتایج یک فرم و… ثبت و سپس به سرور فرستاده می شوند.

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع از