بخش های اصلی

آموزش HTTP

HTTP - مقدمه

پروتکل انتقال ابرمتن (HTTP)، یک پروتکل سطح برنامه برای سیستم های توزیع شده، سیستم های اشتراکی و سیستم های اطلاعاتیِ ابر رسانه است. این پروتکل، از سال 1990، مبنای ارتباطات اطلاعات در شبکه ی جهانی وبِه (مثل اینترنت). HTTP یه پروتکل عمومی و بدون وضعیتِه که می تواند در مواردی مثل استفاده از پسوندهای متدهای درخواستی اش (extonsions of its request methods)، کدهای خطایش و سرآیندهایش به کار بره.

HTTP در اصل یک TCP/IP مبتنی بر پروتکل ارتباطیِه و برای تحویل دادن داده ها (فایل های HTML، عکس ها، نتایجِ کوئری (query) و ...) در شبکه ی جهانی وب به کار میره.  پورت پیش فرض، TCP 80 است ولی از پورت های دیگه هم میشه استفاده کرد. این پروتکل راهی استاندارد برای کامپیوترهاست تا با هم ارتباط برقرار کنن. تأییدیه ی (specification) HTTP نحوه ی ساخته شدن درخواستِ (request) کلاینت ها و فرستاده شدن آن ها به سرور را مشخص می کنه، همچنین نحوه ی پاسخ گویی سرور به این درخواست ها را هم مشخص می کنه.

ویژگی های اصلی

  • HTTP بدون اتصالِه (connectionless) : مرورگر درخواستِ (request) HTTP را مقداردهی اولیه می کنه و درخواست ساخته میشه، اتصال کلاینت و سرور قطع میشه و کلاینت منتظر پاسخ می ماند. سرور درخواست را پردازش می کنه و دوباره ارتباط با کلاینت را برقرار می کنه تا پاسخ را به کلاینت بفرسته.
  • HTTP مستقل از رسانه (media)  است: یعنی، تا زمانی که سرور و کلاینت، هر دو، نحوه ی هَندِل (handle) کردن محتوای داده را بدانند، هر نوع داده ای توسط HTTP قابل فرستادنِه. لازمه کلاینت و سرور، MIME-type مناسبی برای نوع محتوا تعیین کنن.
  • HTTP بدون وضیعتِه (stateless): همانطور که پیش تر هم گفتیم HTTP بدون اتصالِه، پس کاملاً واضحه که HTTP یک پروتکل بدون وضعیتِه. سرور و کلاینت فقط در طی درخواستِ جاری از هم دیگه خبر دارن، بعد از آن هر دو هم دیگه را فراموش می کنن. به خاطر این ماهیتِ پروتکل، نه کلاینت و نه مرورگر، هیچکدام نمی توانند اطلاعات را میان درخواست های مختلف در صفحه های وب حفظ کنن.

HTTP/1.0 برای هر یک از تبادلاتِ درخواست/پاسخ (request/response) از یک ارتباطِ (connection) جدید استفاده می کنه در حالی که HTTP/1.1 فقط از یک ارتباط برای تبادلاتِ یک یا چند درخواست/پاسخ استفاده می کنه.

معماری ابتدایی

نمودار زیر یک معماریِ بسیار ابتدایی از برنامه ی وب نشان میده و مکان HTTP در این معماری را مشخص می کنه:

cgiarch

پروتکل HTTP یک پروتکلِ درخواست/پاسخ (request/response) مبتنی بر کلاینت/سرورِ مبتنی بر معماری است که در آن مرورگرهای وب، ربات ها ، موتورهای جستجو و ... مثل کلاینت هایِ HTTP عمل می کنن و وب سرور هم مثل یک سرور عمل می کنه.

کلاینت

HTTP کلاینت، درخواستی (request) از طریق ارتباطِ TCP/IP، به شکل یک متدِ request (درخواست)، URI و نسخه ی پروتکل را بهمراهِ پیامِ MIME-likeای که حاویِ تغییردهنده های درخواست، اطلاعاتِ کلاینت و محتوای احتمالیِ body (بدنه) است، به سرور میفرسته.

سرور

HTTP سرور، با یک status line (خط وضعیتی) پاسخ میده که شامل نسخه ی پروتکل های پیام و کد خطا یا موفقیت آمیز بودن (success) است به همراه پیامِ MIME-like که شامل اطلاعات سرور، اطلاعات موجودیت متا (enriry meta) و محتوای احتمالیِ entity-body (محتوا) است.

 

مبحث آموزشی

آموزش HTTP

HTTP

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

تبلیغات

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد