مفهوم http
- بهدست: Admingfars
- دستهبندی: عمومی خبری
- Tags: http
عمومی خبری
مفهوم http چیست ؟
شرح :
پروتکلهای اینترنتی به عنوان مهمترین و پرکاربردترین استاندارد برای تبادل اطلاعات در شبکههای اینترنتی شناخته میشوند. پروتکل HTTP یا Hyper Text Transfer Protocol یکی از استانداردهای پرکاربرد تعریف شده برای شبکههای اینترنتی است که مدتی بعد از ساخت اولین سایتها ایجاد شد. این استاندارد به تدریج توسعه پیدا کرد و کنسرسیوم جهانی وب (W3C) وظیفه توسعه و نظارت این پروتکل را بر عهده گرفت.
پروتکل Http چیست؟
در گذشته روش استانداردی برای تبادل اطلاعات در شبکه اینترنت وجود نداشت. به همین دلیل تیم برنرز لی (Tim Berners-Lee) در سال 1991 پروتکل Http را با هدف پیاده سازی یک استاندارد برای تبادل اطلاعات در شبکه اینترنت ایجاد کرد. برنرز لی این پروتکل را به همراه ساختار اولیه HTML در یک وب سرور ساده و یک مرورگر مبتنی بر متن ارائه کرد.
Http مخفف عبارت Hyper Text Transfer Protocol است که به معنی پروتکلی برای انتقال ابرمتنها میباشد. بر اساس این پروتکل، امکان ایجاد صفحات وب و سایتهای اینترنتی فراهم شد. این پروتکل وظیفه برقراری ارتباط میان سرور و کلاینت را در یک شبکه کامپیوتری برعهده دارد. به عبارتی دیگر این پروتکل مسئولیت برقراری ارتباط بین سرویس دهندگان و سرویس گیرندگان وب را برعهده دارد.
بصورت کلی :
اچتیتیپی (HTTP) بستری برای مکالمه بین مرورگرها و سرورها میباشد.
صفحات وب (Web pages) فایل هایی هستند که در مرورگرها نمایش مییابند و توسط سرورها فراهم شدهاند.
روشی که توسط آن فایل ها به مرورگر می رسد HTTP میباشد.
http مخفف عبارت “Hypertext Transfer Protocol” میباشد.
HTTP بیان کننده چگونگی انتقال فایلها در بستر اینترنت می باشد.
برای انتقال فایل ها در اینترنت، مرورگر و سرور باید بتوانند باهم تعامل داشته باشند. http مشخص میکند که این انتقال داده بین مرورگر و سرور چگونه انجام شود.
وقتی شما روی لینک یک وب سایت کلیک میکنید و یا آدرس سایتی را بطور مستقیم در مرورگر سیستم خود وارد می کنید، فرآیند HTTP شروع بکار میکند.
مرورگر فایل html را که در جای مشخصی از سرور قرار دارد را درخواست میکند.
سرور فایل درخواستی را به سمت مرورگر ارسال میکند.
پروتکل Http چگونه کار میکند؟
پروتکل Http از Handshaking به منظور ارسال و دریافت اطلاعات استفاده میکند. در این روش برای شروع و پایان عملیات تبادل اطلاعات بین سرور و کلاینت، چندین درخواست و پاسخ رد و بدل میشود. تصور کنید که کلاینت (مرورگر) فردی است که قصد دارد اطلاعات مربوط به یک سایت را دریافت کند. در ابتدا باید درخواستی با این هدف به سرور آن سایت ارسال کند. سپس باید صبر کند، تا از طرف سرور پاسخی برای درخواستش دریافت کند. در صورتی که اطلاعات خواسته شده در سرور موجود باشند، پاسخی مبنی بر موافقت ارسال اطلاعات برای شخص ارسال میشود.
سپس بار دیگر از طرف کلاینت پیامی مبنی بر درخواست دادههای اطلاعاتی به سرور فرستاده میشود. در این مرحله سرور پیام را دریافت کرده و دادههای درخواست شده را در بستههای اطلاعاتی کوچکتری تقسیم میکند. در نهایت این بستهها توسط پروتکل Handshaking پشت سر هم و به ترتیب برای شخص ارسال میشوند. لازم به ذکر است که در این فرآیند از پروتکل های TCP/IP به منظور افزایش امنیت و تضمین ارسال دادهها استفاده میشود. ارتباط بین کلاینت و سرور در این پروتکل معمولا از طریق پورت 80 انجام میشود. همچنین به مجموعه اطلاعات تبادل شده بین دو کلاینت و سرور در این فرآیند، نشست یا session گفته میشود.
مطالب بیشتر : تفاوت https با http چیست؟
روشهای درخواست در پروتکل http
پروتکل Http روشهای مختلفی را برای درخواست اطلاعات در شبکه وب تعریف کردهاست. هر کدام از این روشها با هدف خاصی در وب سرورها استفاده میشوند. اولین نسخه این پروتکل (نسخه 1) فقط از روشهای درخواست GET, POST و HEAD پشتیبانی میکرد. اما در نسخه 1?1 پنج روش جدید تحت عنوانهای 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 : این روش در سال 2010 به پروتکل http اضافه شد. این روش برای ایجاد تغییرات جزیی بر روی دادهها مورد نظر در سرور استفاده میشود.
فرمت پیامهای درخواست (Request) و پاسخ (Response) در پروتکل Http مشابه هم هستند. هر دو پیامها شامل اجزای زیر میباشند:
خط شروع کننده : خط شروع کننده دارای 3 بخش است که با Space از یکدیگر جدا شده اند. بخش اول نشان دهنده نسخه HTTP در حال استفاده (Version) است. دومین و سومین بخش از خط شروع کننده، نشان دهنده کد و پیام مربوط به وضعیت ارسال درخواست یا پاسخ است.
خطوط Header : خطوط Header اطلاعات لازم برای درخواست و یا پاسخ را آماده میکنند. هر Header در یک خط جدا تعریف میشود و ساختار آنها به صورت KEY:VALUE است. در این بخش اطلاعاتی شامل نام سرور، اطلاعات مربوط به بدنه و… ذکر میشود.
یک خط خالی : پس خطوط Header یک خط خالی قرار میگیرد.
بدنه : یک پیام HTTP ممکن است بعد از خطوط Header شامل یک بدنه باشد. در این بخش اطلاعاتی مانند دادههای وارد شده توسط کاربر، نتایج یک فرم و… ثبت و سپس به سرور فرستاده میشوند.
بدون دیدگاه