کنکور کامپیوتر

پروتکل http چیست؟ Http مخفف چیست و چگونه کار می‌کند؟

در این مقاله عالی توضیح داده که پروتکل http چیست و چگونه کار می‌کند، سپس به توضیح پروتکل Https پرداخته و در نهایت به بررسی تفاوت http و https پرداخته است

HTTP مخفف عبارت Hypertext Transfer Protocol به معنی پروتکل انتقال فرامتن است. در واقع مجموعه‌ای از قوانین برای انتقال فایل‌ها از جمله فایل‌های متنی، عکس، صدا و تصویر و دیگر فایل‌های چندرسانه‌ای از طریق وب است. هنگامی که کاربر، صفحه مرورگر وب خود را باز می‌کند، به طور غیرمستقیم ازHTTP استفاده می‌کند. HTTP یک پروتکل کاربردی است که در بالای مجموعه پروتکل های TCP/IP اجرا می‌شود که پایه وشالوده‌ی اینترنت را تشکیل می‌دهد. آخرین نسخه HTTP،  HTTP/2  است که در ماه می سال 2015 منتشر شده و جایگزینی برای نسخه قبلی خود ، HTTP 1.1 است اما منسوخ نمی‌شود.

HTTP چگونه کار می کند؟

از طریق پروتکل HTTP، منابع بین Client (دستگاه سرویس گیرنده) و سرورها رد و بدل می‌شوند. Client درخواست‌هایی برای دریافت منابع مورد نیاز بارگذاری یک صفحه وب به سرورها ارسال می‌کند. سرورها برای انجام درخواست‌های آن ها، پاسخ خود را به دستگاه سرویس گیرنده ارسال می‌کنند. درخواست‌ها و پاسخ‌ها اسنادی فرعی مانند داده‌های روی تصویر، متن و طرح بندی متن‌ها و... را به اشتراک می‌گذارند. این اسناد فرعی توسط یک مرورگر وب Client برای نمایش فایل کامل صفحه وب در کنار هم قرار می‌گیرند.

 وب سرور علاوه بر اینکه می‌تواند فایل‌های صفحه وب را ارائه کند، حاوی HTTP Daemon است .برنامه‌ای است که منتظر درخواست های HTTP می‌ماند تا هنگام رسیدن درخواست، آن را مدیریت کند (یک مرورگر وب یک سرویس گیرنده‌ی HTTP است که درخواست‌ها را برای سرورها ارسال می‌کند).

زمانی که کاربرِمرورگر با "باز کردن" یک فایل وب و با تایپ یک URL یا کلیک کردن بر روی لینک فرامتن، درخواست‌های فایل را وارد می‌کند، مرورگر یک درخواست HTTP ایجاد می‌کند و آن را به آدرس پروتکل اینترنت (آدرس IP) نشان داده شده توسط URL ارسال می‌کند. HTTP Daemon در سرور مقصد، درخواست را دریافت کرده و فایل یا فایل‌های درخواستی که مرتبط با درخواست هستند، پس می‌فرستد.

این تصویر بیانگر مفهوم Http چگونه کار می‌کند است.

برای توضیح بیشتر، مثالی را با هم مرور می‌کنیم، یک کاربر می‌خواهد از صفحه‌ی TechTarget.com بازدید کند. کاربر در ابتدا آدرس وب را تایپ می‌کند سپس کامپیوتر یک درخواست GET  به سروری که آن آدرس را میزبانی می‌کند، می‌فرستد. درخواست GET با استفاده ازHTTP  فرستاده می‌شود و به سرور TechTarget می‌گوید که کاربر به دنبال کد HTML (مخفف عبارت Hypertext Markup Language به معنی زبان نشانه گذاری فرامتن) است که این کد برای ایجاد ساختار و ظاهر صفحه ی ورود (Login) استفاده می‌شود.

متن صفحه ورود در پاسخ HTML قرار داده می‌شود اما در دیگر بخش‌های صفحه به ویژه عکس‌ها و ویدیو‌های موجود در صفحه، توسط درخواست و پاسخ‌های HTTP به صورت جداگانه درخواست می‌شوند. هر چه تعداد درخواست‌ها بیشتر شود (مثلا برای فراخوانی صفحه‌ای که تصاویر متعددی دارد) زمان بیشتری طول می‌کشد تا سرور بتواند به این درخواست‌ها، پاسخ دهد و در نهایت سیستمِ کاربر، بتواند صفحه را بارگذاری کند.

وقتی این جفت‌های درخواست/پاسخ ارسال می‌شوند از TCP/IP برای کاهش و انتقال اطلاعات از بسته‌های کوچکی که دنباله‌های دودویی یک و صفر هستند، استفاده می‌کنند. این بسته‌ها به صورت فیزیکی از طریق سیم‌های برق، کابل های فیبر نوری و همچنین  شبکه‌های بیسیم  ارسال می‌شوند.

درخواست‌ها و پاسخ‌هایی که سرورها و Client برای به اشتراک گذاشتن داده‌ها با یکدیگر، از آن‌ها استفاده می‌کنند شامل کد اسکی (ASCII) است. درخواست‌ها بیان می‌کنند Client به دنبال چه اطلاعاتی از سرور است. پاسخ‌ها نیز حاوی کدهایی است که مرورگر Client، آن را به یک صفحه وب ترجمه می‌کند.

تفاوت HTTP و HTTPS

HTTPS از لایه سوکت امن (SSL) یا امنیت لایه انتقال (TLS) به عنوان یک لایه‌ی فرعی تحت لایه بندی برنامه HTTP معمولی استفاده می‌کند. HTTPS توسط Netscape توسعه داده شده است. HTTPS درخواست‌های صفحه‌ی HTTP کاربر و همچنین صفحاتی که به وسیله‌ی وب سرور برگردارنده می‌شوند، رمزگذاری و رمزگشایی می‌کند واز آن‌ها در برابر استراق سمع و حملات Man-in-the-middle (MitM) محافظت می‌کند. بنابراین می‌توان نتیجه گرفت که مهاجرت از HTTP به HTTPS  مفید خواهد بود، زیرا لایه‌ای از امنیت و اعتماد را به کاربر ارائه می‌دهد.

در این تصویر تفاوت HTTP و HTTPS بیان شده است.

درخواست ها و پاسخ های HTTP

هر تعاملی که بین سرور و Client برقرار شود، پیام نامیده می‌شود. پیام‌های HTTP همان درخواست‌ها و پاسخ‌ها هستند. Client‌ها درخواست‌های HTTP را به سرورها ارسال می‌کنند و سرورها با ارسال پاسخ‌های HTTP به Client پاسخ می‌دهند.

HTTP Requests 

درخواست‌های HTTP برای زمانی که یک Client همانند مرورگر اینترنت، اطلاعات مورد نیاز برای بارگذاری وب سایت را از سرور می‌خواهد، اطلاعات موردنظر را برای سرور فراهم می‌کند تا بتواند پاسخ خود را برای Client تنظیم کند. هر درخواستِ HTTP حاوی داده‌های رمزگذاری شده با اطلاعاتی همانند اطلاعات زیر است:

HTTP Responses

پیامِ پاسخ HTTP همان داده‌های دریافت شده توسط Client از وب سرور است و همان طور که از نام آن پیداست، پاسخ، پاسخ سرور به درخواست‌های HTTP است. اطلاعات موجود در پاسخ HTTP  متناسب با همان موضوعی است که سرور از درخواست ، دریافت کرده است.

کدهای پاسخ های متداول عبارتند از:

پروکسی ها در HTTP

پروکسی‌ها یا سرورهای پروکسی (پروکسی‌های لایه‌ی Application) کامپیوترها و یا ماشین‌هایی هستند که بین سرور و Client قرار می‌گیرند. همچنین پاسخ‌ها و درخواست‌های HTTP را بین سرور و Client ارسال می‌کنند. معمولا برای هر تعامل بین سرور و Client یک یا چند پروکسی وجود دارد.

پروکسی‌ها ممکن است شفاف (Transparent) یا غیرشفاف (Non-transparent) باشند. پروکسی های شفاف درخواست Client را تغییر نمی‌دهند بلکه آن را با شکل اصلی‌اش به سرور ارسال می‌کنند. اما پروکسی‌های غیرشفاف گاهی درخواست Client را تغییر می‌دهند. از این نوع پروکسی‌ها می‌توان برای افزایش سرعت بازیابی سرور استفاده کرد.

توسعه دهندگان وب می توانند برای اهداف زیر از پروکسی ها استفاده کنند:

جمع بندی

امروزه مبحث امنیت اطلاعات، یکی از مهم ترین پارامترهای دنیای اطلاعات و اینترنت است. بنابراین استفاده از پروتکل HTTPS به جای HTTP در وبسایت که امنیت اطلاعات را برقرار می‌کند، توصیه می‌شود که تجربه‌ی کاربری بهتری را به کاربران ارائه می‌دهد. همچنین بنا بر اعلام گوگل، استفاده از این پروتکل باعث بهبود رتبه بندی وب سایت در نتایج جستجوی گوگل می‌شود.

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

پروتکل HTTP پروتکلی برای انتقال فرامتن (Hypertext) و متن‌های طولانی است. این متن‌ها به صورت کد HTML نوشته می‌شوند. کدهای HTML می‌توانند شامل تصاویر، صدا، جداول و… باشند. این پروتکل امکان ایجاد صفحات وب سایت‌های اینترنتی و همچنین ارتباط بین سرور و Client و انتقال داده میان آن‌ها را فراهم می‌کند.

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

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

پروتکل HTTP چه تفاوتی با پروتکل HTTPS دارد؟

پروتکل HTTPS نسخه ی امن شده ی پروتکل HTTP است. اطلاعات در پروتکل HTTP رمزنگاری نمی‌شوند و می‌توانند به راحتی در دسترس افراد سودجو و هکرها قرار گیرند. هکرها با دسترسی به مسیر تبادل اطلاعات می‌توانند به مشاهده‌ی اطلاعاتی که در حال ارسال هستند، بپردازند. در مقابل، از HTTPS می‌توان به عنوان جایگزینی برای HTTP استفاده کرد. در این پروتکل، اطلاعات بین سرور و Client به صورت رمزنگاری شده منتقل می‌شوند و برخلاف پروتکل HTTP، فقط توسط کسی که کلید رمزگشایی آن‌ها را داشته باشد، قابل دسترسی خواهند بود و به این ترتیب مانع از سرقت اطلاعات محرمانه می‌شود.

امتیازدهی5 1 1 1 1 1 1 1 1 1 15.00 امتیاز (1 امتیاز)
بارگذاری نظرات