چه پروتکلی برای وب سرویس ها استفاده می شود. پروتکل های وب معماری و پروتکل های خدمات وب

پس از اتصال مشتری به سرویس در یک پورت خاص، با استفاده از پروتکل تعیین شده به سرویس دسترسی پیدا می کند. پروتکل یک روش از پیش توسعه یافته برای تبادل اطلاعات بین طرفی که مایل به استفاده از سرویس است و طرف ارائه دهنده خدمات است. "طرف" که به خدمات نیاز دارد می تواند یک شخص باشد، اما اغلب اینطور است برنامه کامپیوتری، مثلا، مرورگر اینترنت. پروتکل ها اغلب توضیحات متنی از روش تبادل اطلاعات بین مشتری و سرور هستند.

یونیکس

شاید ساده ترین پروتکل برای سرویس روزانه باشد. اگر به پورت 13 دستگاهی متصل شوید که از یک سرور روزانه پشتیبانی می کند، آن سرور با اطلاعات مربوط به آن پاسخ می دهد تاریخ فعلیو زمان و سپس اتصال را قطع می کند. پروتکل به شرح زیر است: "اگر مشتری با یک سرور روزانه ارتباط برقرار کند، داده های تاریخ و زمان به آن ارسال می شود و پس از آن اتصال قطع می شود." اکثر ماشین های یونیکس از این سرور پشتیبانی می کنند. می توانید با استفاده از برنامه Telnet با او تماس بگیرید. در یونیکس، جلسه به شکل زیر خواهد بود:

  • %telnet web67.ntx.net 13
  • اتصال به web67.ntx.net.
  • کاراکتر لغو "^]".
  • یکشنبه 25 اکتبر 08:34:06 1998

پنجره ها

در یک ماشین ویندوز، می توانید با وارد کردن "telnet web67.ntx.net 13" در پنجره MSDOS به این سرور دسترسی داشته باشید.

در این مثال، web67.ntx.net دستگاه سرور یونیکس است و 13 شماره پورت سرویس روزانه است. برنامه Telnet به پورت 13 متصل می شود (تلنت معمولاً به پورت 23 متصل می شود، اما می توانید هر پورت دیگری را برای اتصال مشخص کنید)، سپس سرور داده های تاریخ و زمان را ارسال می کند و سپس اتصال را می بندد. اکثر نسخه های Telnet قابلیت تعیین شماره پورت را دارند و بدون توجه به اینکه چه نسخه ای از Telnet بر روی دستگاه نصب شده است می توان از این ویژگی استفاده کرد.

بیشتر پروتکل‌ها پیچیده‌تر از پروتکل روزانه هستند و در درخواست‌های در دسترس عموم (RFCs) تعریف می‌شوند (برای آرشیو خوب همه RFC‌ها به sunsite.auc.dk/RFC/ مراجعه کنید). هر وب سروردر اینترنت مطابق با الزامات پروتکل HTTP است که در سند اصلی HTTP در سال 1991 گردآوری شده است. مهم‌ترین شکل پروتکلی که توسط سرور HTTP قابل درک است، تنها شامل یک دستور است: GET. اگر با سروری که HTTP دارد ارتباط برقرار کنید و درخواست «GET filename» ارسال کنید، سرور با ارسال محتویات به منبع درخواست پاسخ خواهد داد. فایل مشخص شدهو سپس اتصال را قطع می کند. یک جلسه معمولی به این صورت است:

  • %تلنت سایت 80
  • تلاش برای اتصال به 78.110.59.235…
  • ارتباط با pcwork.ru.
  • کاراکتر لغو "^]".
  • اتصال توسط کامپیوتر میزبان خارجی غیرفعال شده است.

در نسخه اولیه پروتکل HTTP، فقط باید نام واقعی فایل ارسال شود، به عنوان مثال، [/] یا پروتکل بعداً تغییر کرد تا بتواند URL های کامل را مدیریت کند. این به شرکت هایی که با دامنه های مجازی سر و کار دارند، در شرایطی که دامنه های زیادی روی یک دستگاه قرار دارند، اجازه می دهد تا از یک آدرس IP برای همه این دامنه ها استفاده کنند.

خلاصه کنید

پس از خواندن این مقاله، چیزهای زیادی در مورد آن یاد گرفتید. به طور خاص، اکنون می دانید که وقتی URL را در مرورگر تایپ می کنید، موارد زیر رخ می دهد:

  1. URL را به سه بخش تقسیم کرد:
  • پروتکل ("http")
  • نام سرور ("سایت") - در اخیراتمایل مثبت به کوتاه کردن سه حرف اول www
  • نام فایل ("web server.htm")
  • مرورگر با سرور نام تماس می گیرد تا نام سرور را به یک آدرس IP ترجمه کند که توسط آن مرورگر برای اتصال به دستگاه سرور مربوطه استفاده می شود.
  • پس از دریافت آدرس IP، مرورگر مشخص شده با سرور وب که این آدرس IP را در پورت 80 دارد، ارتباط برقرار می کند.
  • مطابق با پروتکل HTTP، مرورگر برای دریافت فایل، درخواست GET را به این سرور ارسال می کند (توجه داشته باشید که همراه با درخواست GET، کوکی ها را می توان از مرورگر به سرور ارسال کرد - جزئیات را می توان در مقاله نحوه کوکی ها یافت. کار).
  • سرور ارسال می کند متن HTMLصفحه وب درخواستی به مرورگر. (کوکی ها همچنین می توانند از سرور به مرورگر در هدر صفحه منتقل شوند.)
  • مرورگر تگ های HTML را می خواند و صفحه مربوطه را روی صفحه نمایشگر نمایش می دهد.
  • ضمیمه: امنیت

    از این توضیحات می توان نتیجه گرفت که یک وب سرور می تواند یک برنامه نسبتاً ساده باشد. نام فایل ارسال شده با دستور GET را می گیرد، فایل مورد نظر را پیدا می کند و به مرورگر می فرستد. حتی با تمام مدیریت پورت و کدهای ارتباطی پورت، می توانید به راحتی یک برنامه C ایجاد کنید که به عنوان یک وب سرور ساده در کمتر از 500 خط عمل می کند. کد برنامه. البته، یک وب سرور شرکتی با امکانات کامل، پیچیده تر است، اما اصول اولیه عملکرد آن همچنان بسیار ساده است.

    اکثر سرورها سطحی از امنیت را به گردش کار اضافه می کنند. برای این منظور، به عنوان مثال، از صفحات محافظت شده با رمز عبور استفاده می شود. هنگامی که می خواهید چنین صفحه ای را با مرورگر خود باز کنید، یک کادر محاوره ای ظاهر می شود که از شما می خواهد نام کاربری و رمز عبور خود را وارد کنید. سرور به صاحب صفحه وب امکان استفاده از لیستی از نام و رمز عبور افرادی که اجازه دسترسی به این صفحه را دارند، می دهد. در این حالت سرور فقط به کسانی که رمز عبور مناسب را دارند اجازه مشاهده صفحه را می دهد. سرورهای پیشرفته دارند توابع اضافیامنیتی که اطلاعات رد و بدل شده بین سرور و مرورگر را رمزگذاری می کند و امکان انتقال اطلاعات حساس مانند شماره کارت اعتباری را از طریق اینترنت فراهم می کند.

    اینها عملاً تمام عملکردهایی هستند که یک سرور طراحی شده برای ارسال صفحات وب استاندارد و ایستا می تواند انجام دهد. صفحات استاتیک آن دسته از صفحات وب هستند که تا زمانی که توسط توسعه دهنده ویرایش نشوند تغییر نمی کنند.

    افزونه: صفحات پویا

    چه در مورد وب پویاصفحات؟ مثلا:

    • در هر کتابی از نظرات شما مجاز به ارسال پیام به صورت HTML هستید و دفعه بعد که آن را مشاهده می کنید، اطلاعات جدید وارد شده در این صفحه ذخیره می شود.
    • در فرم Network Solutions whois screen در پاسخ به وارد کردن نام دامنه، یک صفحه وب دریافت می شود که ظاهر آن بستگی به نام وارد شده دارد.
    • در هر موتور جستجو در فرم HTMLمعرفی می شوند کلید واژه ها، پس از آن دستگاه صفحه ای ایجاد می کند که نتیجه جستجوی آن کلمات را نشان می دهد.

    در تمام موارد فوق سرور وب فقط جستجو نمی کند فایل مورد نیاز. اطلاعات دریافتی را پردازش می کند و یک صفحه وب ایجاد می کند که به روشی خاص با درخواست دریافت شده مطابقت دارد. تقریباً در همه موارد، سرور وب برای حل این مشکل از روش به اصطلاح CGI استفاده می کند.

    هر دستگاه سرور خدماتی را از اینترنت با استفاده از پورت‌های شماره‌دار، یکی برای هر سرویس موجود در سرور، در معرض دید قرار می‌دهد. به عنوان مثال، اگر دستگاه سرور دارای یک سرور وب و یک سرور FTP باشد، معمولاً دسترسی به وب سرور از طریق پورت 80 انجام می شود و به سرور FTP- از طریق پورت 21. مشتریان با انتخاب آدرس مناسب و اتصال به پورت مناسب به سرویس متصل می شوند.

    به هر سرویس محبوب شماره پورت خاصی اختصاص داده می شود. متداول‌ترین شماره‌های پورت مورد استفاده در زیر آمده است:

    • پژواک 7
    • روز 13
    • qotd 17 (نقل قول روز)
    • ftp 21
    • تلنت 23
    • smtp 25 (ایمیل)
    • زمان 37
    • سرور نام 53 (سرور نام)
    • نام مستعار 43 (چه کسی کیست)
    • گوفر 70
    • انگشت 79
    • WWW 80

    محدودیت های

    اگر دستگاه سرور اجازه اتصال به پورت از اینترنت را می دهد و این پورت محافظت نمی شود، می توانید از هر نقطه از اینترنت به آن متصل شده و از سرویس مربوطه استفاده کنید. لازم به ذکر است که هیچ محدودیتی برای اتصال به سرور وب روی پورت 80 وجود ندارد. با راه اندازی دستگاه خود و نصب نرم افزار WEB سرور بر روی آن، می توانید در صورت تمایل مشخص کنید که سرور وب باید کار کند. به عنوان مثال، در پورت 918، یا در هر پورت خالی دیگری. سپس، اگر دستگاه xxx.yyy.com نام دارد، می توانید با استفاده از URL xxx.yyy.com:918 از طریق اینترنت به این سرور متصل شوید. قسمت ":918" به صراحت شماره پورت را نشان می دهد و هر کسی که مایل به تماس با این سرور است باید اضافه شود. اگر هیچ پورتی مشخص نشده باشد، مرورگر به طور پیش فرض سعی می کند به پورت مشترک 80 متصل شود.

    HTTP. مبتنی بر تعامل است" مشتری-سرور"، یعنی فرض بر این است که:
    1. مصرف كننده- مشتریبا برقراری ارتباط با ارائه دهنده-سرور، درخواستی را برای آن ارسال می کند.
    2. ارائه دهنده- سروربا دریافت درخواست، اقدامات لازم را انجام می دهد و پاسخی را با نتیجه به مشتری برمی گرداند.

      در این مورد، دو راه ممکن برای سازماندهی کار کامپیوتر مشتری وجود دارد:

      • تین مشترییک کامپیوتر مشتری است که تمام وظایف پردازش اطلاعات را به سرور منتقل می کند. مثال تین مشتریمی تواند به عنوان یک رایانه با مرورگر مورد استفاده برای کار با برنامه های کاربردی وب عمل کند.
      • مشتری چاقبرعکس، اطلاعات را مستقل از سرور پردازش می کند و از دومی عمدتاً فقط برای ذخیره سازی داده ها استفاده می کند.

    قبل از اینکه به سراغ فناوری‌های وب مشتری-سرور خاص برویم، اجازه دهید به اصول اولیه و ساختار پروتکل اصلی HTTP نگاهی بیندازیم.

    پروتکل HTTP

    HTTP (پروتکل انتقال ابرمتن - RFC 1945، RFC 2616) یک پروتکل لایه کاربردی برای انتقال ابرمتن است.

    موجودیت مرکزی در HTTP است منبعآدرس اینترنتی که در درخواست مشتری به آن اشاره شده است. به طور معمول، این منابع فایل هایی هستند که در سرور ذخیره می شوند. یکی از ویژگی های پروتکل HTTP این است که در درخواست و پاسخ، روش نمایش یک منبع را با توجه به پارامترهای مختلف: قالب، رمزگذاری، زبان و غیره مشخص می کند. این به لطف توانایی تعیین روش رمزگذاری یک پیام است. که مشتری و سرور می توانند داده های باینری را مبادله کنند، اگرچه در ابتدا این پروتکل برای انتقال اطلاعات نمادین طراحی شده بود. در نگاه اول، ممکن است این اتلاف منابع به نظر برسد. در واقع، داده ها به شکل نمادین حافظه بیشتری را اشغال می کنند، پیام ها بار اضافی را در کانال های ارتباطی ایجاد می کنند، اما این فرمت مزایای بسیاری دارد. پیام های ارسال شده از طریق شبکه قابل خواندن هستند و پس از تجزیه و تحلیل داده های دریافتی، مدیر سیستم می تواند به راحتی خطا را پیدا کرده و آن را برطرف کند. در صورت لزوم، شخص می تواند با وارد کردن دستی پیام ها در قالب مورد نیاز، نقش یکی از برنامه های تعاملی را ایفا کند.

    برخلاف بسیاری از پروتکل های دیگر، HTTP یک پروتکل بدون حافظه است. این بدان معنی است که پروتکل اطلاعات مربوط به درخواست های مشتری قبلی و پاسخ های سرور را ذخیره نمی کند. مؤلفه هایی که از HTTP استفاده می کنند می توانند به طور مستقل اطلاعات وضعیت مرتبط با درخواست ها و پاسخ های اخیر را حفظ کنند. مثلا مشتری برنامه تحت وب، ارسال درخواست ها، می تواند تاخیرهای پاسخ را نظارت کند و وب سرورمی تواند آدرس های IP را ذخیره کند و هدرهای مشتریان اخیر را درخواست کند.

    همه نرم افزاربرای کار با پروتکل HTTP به سه دسته اصلی تقسیم می شود:

    • سرورها- ارائه دهندگان خدمات ذخیره سازی و پردازش اطلاعات (پردازش درخواست).
    • مشتریان- مصرف کنندگان نهایی خدمات سرور (ارسال درخواست).
    • سرورهای پروکسیبرای حمایت از کار خدمات حمل و نقل.

    مشتریان اصلی هستند مرورگرهابه عنوان مثال: اینترنت اکسپلورر، اپرا، موزیلا فایرفاکس، نت اسکیپ Navigator و دیگران. محبوب ترین اجرای وب سرور عبارتند از: اینترنت اطلاعات خدمات (IIS)، آپاچی، lighttpd، nginx. شناخته شده ترین پیاده سازی های سرور پروکسی: Squid، UserGate، Multiproxy، Naviscope.

    طرح جلسه HTTP "کلاسیک" به این شکل است.

    1. برقراری ارتباط TCP
    2. درخواست مشتری
    3. پاسخ سرور
    4. قطع اتصال TCP

    بنابراین ، مشتری درخواستی را به سرور ارسال می کند ، از آن پاسخ دریافت می کند و پس از آن تعامل متوقف می شود. معمولاً درخواست کلاینت درخواستی برای انتقال یک سند HTML یا منبع دیگری است و پاسخ سرور حاوی کد این منبع است.

    درخواست HTTP ارسال شده توسط مشتری به سرور شامل اجزای زیر است.

    • خط وضعیت (گاهی از اصطلاحات خط وضعیت یا خط پرس و جو نیز برای اشاره به آن استفاده می شود).
    • فیلدهای سرصفحه
    • خط خالی
    • درخواست بدن.

    نوار وضعیتبا هم فیلدهای سرصفحهگاهی اوقات نیز نامیده می شود هدر درخواست.


    برنج. 2.1.

    نوار وضعیتدارای فرمت زیر است:

    request_method URL_pecypca protocol_version HTTP

    بیایید با توجه ویژه به روش های درخواست به اجزای نوار وضعیت نگاه کنیم.

    روشتعیین شده در خط وضعیت تعیین می کند که چگونه منبعی که URL آن در همان خط مشخص شده است تحت تأثیر قرار می گیرد. این روش می تواند مقادیر GET، POST، HEAD، PUT، DELETE و غیره را بگیرد. با وجود فراوانی روش ها، تنها دو مورد از آنها برای یک برنامه نویس وب واقعا مهم هستند: GET و POST.

    • گرفتن. طبق تعریف رسمی، روش GET برای به دست آوردن منبعی با URL مشخص در نظر گرفته شده است. به محض دریافت درخواست GET، سرور باید منبع مشخص شده را بخواند و کد منبع را به عنوان بخشی از پاسخ به مشتری درج کند. منبعی که URL آن به عنوان بخشی از درخواست ارسال می شود، لازم نیست یک صفحه HTML، فایل تصویری یا سایر داده ها باشد. URL منبع می تواند به کد برنامه قابل اجرا اشاره کند که در صورت رعایت شرایط خاص، باید روی سرور اجرا شود. در این حالت، نه کد برنامه، بلکه داده های تولید شده در حین اجرای آن، به مشتری بازگردانده می شود. اگرچه طبق تعریف، روش GET برای بازیابی اطلاعات در نظر گرفته شده است، اما می توان از آن برای اهداف دیگری استفاده کرد. روش GET برای انتقال قطعات کوچک داده به سرور کاملاً مناسب است.
    • پست. طبق همان تعریف رسمی، هدف اصلی روش POST انتقال داده به سرور است. با این حال، مانند روش GET، روش POST را می توان به روش های مختلف استفاده کرد و اغلب برای بازیابی اطلاعات از یک سرور استفاده می شود. همانند روش GET، URL مشخص شده در نوار وضعیت به یک منبع خاص اشاره می کند. روش POSTهمچنین می تواند برای شروع یک فرآیند استفاده شود.
    • متدهای HEAD و PUT اصلاحاتی از متدهای GET و POST هستند.

    نسخه پروتکل HTTP معمولاً در قالب زیر مشخص می شود:

    HTTP/version.modification

    فیلدهای سرصفحه، به دنبال خط وضعیت، به شما امکان می دهد درخواست را اصلاح کنید، i.e. به سرور انتقال دهد اطلاعات تکمیلی. فیلد هدر فرمت زیر را دارد:

    نام فیلد: مقدار

    هدف یک فیلد با نام آن مشخص می شود، که با یک دونقطه از مقدار آن جدا می شود.

    نام برخی از رایج ترین فیلدهای هدر در درخواست مشتری و هدف آنها در جدول 2.1 نشان داده شده است.

    جدول 2.1. فیلدهای هدر درخواست HTTP.
    فیلدهای سرصفحه HTTP -درخواست معنی
    میزبان نام دامنه یا آدرس IP میزبانی که مشتری به آن دسترسی دارد
    ارجاع دهنده URL سندی که به منبع فهرست شده در نوار وضعیت ارجاع می دهد
    از جانب نشانی پست الکترونیککاربر که با مشتری کار می کند
    تایید کنید انواع MIME داده های پردازش شده توسط مشتری. این فیلد می تواند چندین مقدار داشته باشد که با کاما از هم جدا شده اند. اغلب از فیلد Accept header استفاده می شود تا به سرور بگوید چه انواعی دارد فایل های گرافیکیمشتری پشتیبانی می کند
    پذیرش-زبان مجموعه ای از شناسه های دو کاراکتری که با کاما از هم جدا شده اند و زبان های پشتیبانی شده توسط مشتری را نشان می دهد.
    Accept-Charset لیست مجموعه کاراکترهای پشتیبانی شده
    نوع محتوا نوع MIME داده موجود در بدنه درخواست (اگر درخواست شامل یک سرصفحه واحد نباشد)
    طول محتوا تعداد کاراکترهای موجود در بدنه درخواست (اگر درخواست شامل یک سرصفحه واحد نباشد)
    دامنه ارائه اگر مشتری کل سند را درخواست نکند، بلکه فقط بخشی از آن را درخواست کند
    ارتباط برای مدیریت اتصال TCP استفاده می شود. اگر فیلد حاوی Close باشد، به این معنی است که سرور باید پس از پردازش درخواست، اتصال را ببندد. مقدار Keep-Alive نشان می دهد که اتصال TCP را باز نگه دارید تا بتوان از آن برای درخواست های بعدی استفاده کرد.
    عامل کاربر اطلاعات مشتری

    در بسیاری از موارد، هنگام کار بر روی وب، بدنه درخواستی وجود ندارد. هنگامی که اسکریپت های CGI اجرا می شوند، داده های ارسال شده به آنها در درخواست را می توان در بدنه درخواست قرار داد.

    ما کتاب جدیدی با عنوان بازاریابی محتوا در در شبکه های اجتماعی: چگونه به ذهن مشترکین خود وارد شوید و آنها را عاشق برند خود کنید."

    وب سرویس (سرویس) برنامه ای است که تعامل بین سایت ها را سازماندهی می کند. اطلاعات یک پورتال به پورتال دیگر منتقل می شود.

    مثلاً یک شرکت هواپیمایی وجود دارد. او پروازهای زیادی دارد، یعنی بلیط های زیادی دارد. این اطلاعات را از طریق یک وب سرویس به یک سایت جمع آوری سفر منتقل می کند. کاربری که به جمع‌آوری دسترسی پیدا می‌کند، می‌تواند مستقیماً بلیط این خط هوایی را از آنجا خریداری کند.

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

    اطلاعات در اینترنت متنوع است. سایت ها توسط سیستم های مختلف مدیریت می شوند. پروتکل های مختلف انتقال و رمزگذاری استفاده می شود. وب سرویس ها تبادل اطلاعات بین سایت های مختلف را ساده می کنند.

    معماری و پروتکل های خدمات وب

    شما می توانید 3 مرجع را تعریف کنید که با یکدیگر تعامل دارند: کاتالوگ، پیمانکار و مشتری. پس از ایجاد سرویس، پیمانکار آن را در کاتالوگ ثبت می کند و مشتری سرویس را در آنجا پیدا می کند.

    مکانیسم تبادل داده در توضیحات خدمات وب شکل گرفته است. این مشخصاتی است که فرمت های ارسال، انواع محتوا، پروتکل های حمل و نقل را پوشش می دهد که در فرآیند تبادل اطلاعات بین مشتری و حمل کننده خدمات استفاده می شود.

    امروزه چندین فناوری بیشتر برای پیاده سازی وب سرویس های مختلف مورد استفاده قرار می گیرند:

    1. TCP/IP پروتکلی است که تقریباً برای همه قابل درک است تجهیزات شبکه، از مین فریم گرفته تا دستگاه های قابل حمل و PDA.
    2. HTML یک زبان نشانه گذاری جهانی است که برای نمایش محتوا در دستگاه های مصرف کننده استفاده می شود.
    3. XML یک ابزار جهانی برای پردازش انواع داده ها است. سایر پروتکل های تبادل اطلاعات می توانند بر اساس آن کار کنند: SOAP و WSDL.
    4. UDDI منبع جهانی تشخیص، ادغام و توصیف است. به عنوان یک قاعده، در شبکه های خصوصی کار می کند و هنوز توزیع کافی پیدا نکرده است.

    تطبیق پذیری فناوری های ارائه شده مبنایی برای درک خدمات وب است. برای کار می کنند فن آوری های استاندارد، مستقل از ارائه دهندگان برنامه و سایر منابع شبکه. قابل استفاده در هر سیستم های عامل، سرورهای برنامه، زبان های برنامه نویسی و غیره

    مزایای

    • ایجاد شرایط لازم برای تعامل اجزای نرم افزاربدون توجه به پلت فرم
    • وب سرویس ها بر اساس پروتکل های استاندارد باز هستند. با توجه به معرفی XML، ایجاد و پیکربندی خدمات وب ساده شده است.
    • استفاده از HTTP تعامل سیستم ها را از طریق دسترسی به اینترنت تضمین می کند.

    ایرادات

    • عملکرد پایین و حجم زیاد ترافیک در مقایسه با سیستم های RMI، CORBA، DCOM به دلیل استفاده از پیام های XML در متن متن.
    • سطح امنیت همه سرویس های وب مدرن باید کدگذاری را پیاده سازی کنند و نیاز به مجوز کاربر دارند. اینکه آیا HTTPS در اینجا کافی است یا پروتکل های قابل اعتماد بیشتری مورد نیاز است، مانند رمزگذاری XML، SAML و غیره، در طول توسعه تصمیم گیری می شود.

    وظایف خدمات وب

    خدمات وب در بسیاری از زمینه ها قابل استفاده است.

    معاملات B2B

    ادغام فرآیندها بلافاصله و بدون مشارکت مردم اتفاق می افتد. به عنوان مثال، به روز رسانی کاتالوگ فروشگاه اینترنتی با محصولات جدید. آنها به انبار آورده می شوند و انباردار ورود به پایگاه داده را یادداشت می کند. اطلاعات به طور خودکار به فروشگاه آنلاین منتقل می شود. و خریدار به جای اینکه روی کارت محصول علامت "Out of Stock" را بزند، مقدار آن را می بیند.

    ادغام خدمات سازمانی

    اگر شرکت از برنامه های شرکتی استفاده می کند، وب سرویس به تنظیم کار مشترک آنها کمک می کند.

    ایجاد یک سیستم مشتری-سرور

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

    • شما می توانید نه خود نرم افزار را بفروشید، بلکه می توانید به وب سرویس دسترسی پولی داشته باشید.
    • حل مشکلات با استفاده از نرم افزار شخص ثالث آسان تر است.
    • سازماندهی دسترسی به محتوا و مواد سرور آسان تر است.

    وب سرویس برنامه ای است که تنظیمات فنی تعامل منابع را ساده می کند.

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

    سرویس وب، سرویس وب(وب سرویس انگلیسی) است فناوری شبکه، ارائه تعامل بین برنامه ای بر اساس استانداردهای وب. W3C یک وب سرویس را اینگونه تعریف می کند: «سیستم نرم افزاری طراحی شده برای پشتیبانی از ارتباطات ماشین به ماشین قابل کار بر روی یک شبکه».

    خدمات وب: مفاهیم و پروتکل ها

    یک وب سرویس با یک رشته URI شناسایی می شود. وب سرویس دارای یک رابط نرم افزاری است که در قالب قابل پردازش ماشین ارائه شده است. سیستم های دیگر با تبادل پیام های پروتکل با این وب سرویس تعامل دارند. پروتکل HTTP به عنوان یک انتقال برای پیام ها استفاده می شود. شرح خدمات وب و APIهای آنها را می توان با استفاده از . نمودار مفهومی فناوری در نشان داده شده است و رابطه بین پروتکل ها در شکل 1 نشان داده شده است. 2.

    برنج. 1. مفهوم وب سرویس

    • صابون(پروتکل دسترسی به شیء ساده) - پروتکل تبادل پیام بین مصرف کننده و ارائه دهنده خدمات وب؛
    • WSDL(زبان توصیف خدمات وب) - زبانی برای توصیف رابط های خارجی یک وب سرویس.
    • UDDI(Universal Discovery, Description and Integration) یک رابط شناسایی، توصیف و ادغام جهانی است که برای ایجاد کاتالوگ خدمات وب و دسترسی به آن استفاده می شود.

    برنج. 2. پروتکل های خدمات وب

    تمام مشخصات استفاده شده در این فناوری مبتنی بر XML است و بر این اساس، مزایا (ساختار، انعطاف‌پذیری، و غیره) و معایب آن (دست‌وپاگیر بودن، کندی) را به ارث می‌برند.

    صابون

    صابون (در اصل پروتکل دسترسی به شیء ساده، و در نسخه 1.2 رمزگشایی رسمی از مخفف وجود ندارد) یک پروتکل ساده برای دسترسی به اشیاء (اجزای یک سیستم محاسباتی توزیع شده) بر اساس تبادل پیام های ساخت یافته است. مانند هر پروتکل متنی، SOAP را می توان با هر پروتکل لایه کاربردی استفاده کرد: SMTP، FTP، HTTPS و غیره، اما اغلب SOAP از طریق HTTP استفاده می شود.

    تمام پیام های SOAP در ساختاری به نام فرمت می شوند پاكت نامه(پاکت)، که شامل عناصر زیر است:

    • شناسه پیام (نام محلی).
    • عنصر هدر اختیاری:
      • صفر یا چند ویژگی در این فضای نام موجود است.
    • عنصر مورد نیاز بدن (بدنه پیام)
      • صفر یا بیشتر ارجاع به فضاهای نام استفاده شده.
      • عناصر کودکبدنه ی پیام

    فهرست دقیق عناصر پیام SOAP در طرح داده (برای SOAP نسخه 1.2) آورده شده است.

    نمونه پیام SOAP:

    پاكت نامه xmlns:env=" http://www.w3.org/2003/05/soap-envelope"> سرتیتر> 1 2001-06-22T14:00:00-05:00 سرتیتر> بدن> ساعت 6:30 صبح بیدار شوید بدن> پاكت نامه>

    XML-RPC: نه یک رقیب، بلکه جایگزینی برای SOAP

    XML-RPC یک پروتکل بسیار ساده و کارآمد برای ارتباط سرویس های وب است. این برنامه برای حل مشکلات جهانی مانند SOAP طراحی نشده است، اما به طور گسترده در بسیاری از توسعه های وب استفاده می شود.

    مفهوم XML-RPC

    جدول 1. عناصر اساسی پروتکل WSDL.

    عنصر WSDL 1.1 عنصر WSDL 2.0 توضیح کوتاه
    PortType رابط شرحی از رابط وب سرویس (لیستی از عملیات و پارامترهای آنها) را نشان می دهد.
    سرویس سرویس لیست توابع سیستم
    الزام آور الزام آور رابط ها را مشخص می کند و پارامترهای اتصال را با پروتکل SOAP تنظیم می کند: سبک اتصال (RPC/Document) و حمل و نقل (SOAP). این بخش نیز برای هر یک از عملیات موجود است
    عمل عمل عملیات ارائه شده توسط وب سرور را تعریف می کند. یک عملیات WSDL مشابه توابع و رویه های سنتی است.
    پیام استفاده نشده یک پیام مرتبط با یک عملیات خاص. حاوی اطلاعات لازم برای انجام یک عملیات معین است. هر پیام می تواند شامل چندین بخش منطقی باشد که انواع داده ها و نام ویژگی ها را توصیف می کند. در نسخه 2.0 حذف شد زیرا پشتیبانی طرحواره XML برای همه عناصر معرفی شد.
    انواع انواع شرح داده ها مطابق با XML Schema.

    برنج. 3. ساختار پروتکل WSDL

    مشخصات WSDL 1.1 4 الگوی تبادل پیام (نوع عملیات) را تعریف کرده است:

    • عملیات یک طرفه: یک عملیات می تواند پیامی را دریافت کند اما پاسخی را بر نمی گرداند.
    • Request-response: عملیات می تواند یک درخواست را بپذیرد و باید یک پاسخ را برگرداند.
    • پرسش و پاسخ (Solicit-response): عملیات می تواند درخواستی را ارسال کند و منتظر پاسخ به آن خواهد ماند.
    • اعلان: عملیات می تواند پیامی ارسال کند، اما منتظر پاسخ نخواهد ماند.

    در WSDL 2.0، این الگوها برای پشتیبانی از پیام های خطا (مثلاً الگوی Robust-in-only) اصلاح و گسترش می یابند، اما برای سازگاری به عقبانواع WSDL 1.1 پشتیبانی می شود

    UDDI بر استانداردهای صنعتی HTTP، XML، XML Schema (XSD)، SOAP و WSDL متکی است. رابطه مفهومی بین UDDI و سایر پروتکل ها در پشته خدمات وب در نشان داده شده است.

    برنج. 4. مکان UDDI در پشته پروتکل خدمات وب

    عملکرد رجیستری UDDI نمایش داده ها و ابرداده ها در مورد خدمات وب است. هم به صورت آنلاین قابل استفاده است استفاده مشترک، و در زیرساخت داخلی سازمان. رجیستری UDDI مکانیزمی مبتنی بر استانداردها را برای طبقه بندی، فهرست نویسی و مدیریت سرویس های وب فراهم می کند به طوری که وب سرویس ها می توانند توسط برنامه های کاربردی دیگر استفاده شوند. این مکانیسم شامل امکاناتی برای یافتن یک سرویس، فراخوانی آن سرویس و مدیریت ابرداده در مورد آن سرویس است.

    ویژگی های کلیدی UDDI انتشار اطلاعات مربوط به یک سرویس در یک رجیستری و بازیابی آن اطلاعات است برنامه های شخص ثالث. همراه با اینها، توابع معمولی برای یک سرویس دایرکتوری نیز اجرا می شوند: نمایش مدل و ساختار داده ذخیره شده پایگاه اطلاع رسانی، روابط بین اشیاء رجیستری، تکرار، امنیت و غیره. - تمام عملکردهای اصلی رجیستری به عنوان خدمات وب ارائه می شوند و از طریق UDDI API قابل دسترسی هستند.

    خدمات وب: Pro et Contra

    مزایای

    • تعامل را فراهم کند سیستم های نرم افزاریبدون توجه به پلت فرم
    • بر اساس استانداردها و پروتکل های باز.
    • استفاده از HTTP به برنامه ها اجازه می دهد تا از طریق فایروال ارتباط برقرار کنند.

    ایرادات

    • عملکرد کمتر و حجم بیشتر ترافیک شبکه در مقایسه با فناوری هایی مانند CORBA یا DCOM.

    آدرس دائمی این صفحه:

    به شما امکان می دهد منابع مختلفی مانند اسناد HTML را دریافت کنید. پروتکل HTTP زیربنای تبادل داده در اینترنت است. HTTP یک پروتکل ارتباطی سرویس گیرنده-سرور است، به این معنی که درخواست ها به سرور توسط خود گیرنده، معمولاً یک مرورگر وب، آغاز می شود. سند نهایی حاصل (ممکن است) از اسناد فرعی مختلفی تشکیل شود که بخشی از سند نهایی هستند: به عنوان مثال، متن دریافتی جداگانه، شرح ساختار سند، تصاویر، فایل های ویدئویی، اسکریپت ها و موارد دیگر.

    کلاینت ها و سرورها با تبادل پیام های منفرد (به جای جریان داده) با هم ارتباط برقرار می کنند. پیام های ارسال شده توسط مشتری، معمولا یک مرورگر وب، نامیده می شود درخواست ها، و پیام های ارسال شده توسط سرور فراخوانی می شوند پاسخ می دهد.

    اگرچه HTTP در اوایل دهه 1990 توسعه یافت، اما به دلیل توسعه پذیری آن به طور مداوم بهبود یافته است. HTTP یک پروتکل لایه کاربردی است که اغلب از قابلیت های پروتکل دیگری - TCP (یا TLS - TCP امن) - برای ارسال پیام های خود استفاده می کند، اما هر پروتکل انتقال قابل اعتماد دیگری از نظر تئوری می تواند برای ارائه چنین پیام هایی استفاده شود. به دلیل توسعه پذیری آن، نه تنها برای مشتری برای دریافت اسناد، تصاویر و ویدیوهای فرامتن، بلکه برای انتقال محتوا به سرورها، به عنوان مثال، با استفاده از فرم های HTML نیز استفاده می شود. همچنین می‌توان از HTTP برای بازیابی تنها بخش‌هایی از یک سند به منظور به‌روزرسانی یک صفحه وب در صورت تقاضا (مثلاً از طریق درخواست AJAX) استفاده کرد.

    اجزای سیستم های مبتنی بر HTTP

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

    هر درخواست درخواست) به سرور ارسال می شود که آن را پردازش می کند و یک پاسخ (eng. واکنش). بین این درخواست‌ها و پاسخ‌ها معمولاً واسطه‌های متعددی به نام پراکسی وجود دارد که عملیات مختلفی را انجام می‌دهند و به عنوان مثال به عنوان دروازه یا حافظه پنهان عمل می‌کنند.

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

    مشتری: شرکت کننده تبادل

    عامل کاربر هر ابزار یا وسیله ای است که از طرف یک کاربر عمل می کند. این کار در درجه اول توسط مرورگر وب انجام می شود. در برخی موارد، شرکت کنندگان برنامه هایی هستند که توسط مهندسان و توسعه دهندگان وب برای اشکال زدایی برنامه های خود استفاده می شوند.

    مرورگر همیشهموجودی است که درخواست را ایجاد می کند. سرور معمولاً این کار را انجام نمی‌دهد، اگرچه در طول سال‌ها شبکه راه‌هایی را ایجاد کرده است که به درخواست‌های سمت سرور اجازه می‌دهد برآورده شوند.

    برای نمایش یک صفحه وب، مرورگر یک درخواست اولیه برای دریافت سند HTML آن صفحه ارسال می کند. پس از این، مرورگر این سند را بررسی می‌کند و فایل‌های اضافی لازم برای نمایش محتوای صفحه وب را درخواست می‌کند (اسکریپت‌های اجرایی، اطلاعات در مورد طرح‌بندی صفحه - جداول CSSسبک‌ها، منابع اضافی در قالب تصاویر و فایل‌های ویدیویی) که مستقیماً بخشی از سند منبع هستند، اما در مکان‌های دیگر شبکه قرار دارند. در مرحله بعد، مرورگر همه این منابع را به هم متصل می کند تا آنها را در قالب یک سند - یک صفحه وب به کاربر نمایش دهد. اسکریپت‌های اجرا شده توسط خود مرورگر می‌توانند منابع اضافی را در شبکه در مراحل بعدی پردازش صفحه وب دریافت کنند و مرورگر نمایش آن صفحه را بر اساس آن به کاربر به‌روزرسانی می‌کند.

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

    وب سرور

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

    یک سرور لزوماً روی یک دستگاه قرار ندارد و بالعکس - چندین سرور می توانند روی یک دستگاه قرار بگیرند (میزبان شوند). با توجه به نسخه HTTP/1.1 و داشتن هدر Host، حتی می توانند آدرس IP یکسانی را به اشتراک بگذارند.

    پروکسی

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

    • کش (کش می تواند عمومی یا خصوصی باشد، مانند کش مرورگر)
    • فیلتر کردن (مانند اسکن آنتی ویروس، کنترل والدین, …)
    • تعادل بار (اجازه دادن به سرورهای متعدد برای ارائه درخواست های مختلف)
    • احراز هویت (کنترل دسترسی به منابع مختلف)
    • ورود به سیستم (مجوز ذخیره سابقه تراکنش)

    جنبه های اساسی HTTP

    HTTP ساده است

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

    HTTP - قابل توسعه

    هدرهای HTTP که در HTTP/1.0 معرفی شدند، گسترش و آزمایش پروتکل را آسان کردند. عملکرد جدید حتی می تواند با یک توافق ساده بین مشتری و سرور بر روی معنای هدر جدید معرفی شود.

    HTTP بدون حالت است اما یک جلسه دارد

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

    HTTP و اتصالات

    اتصال در لایه انتقال مدیریت می شود و بنابراین اساساً از مرزهای HTTP فراتر می رود. اگرچه HTTP نیازی به اتصال مبتنی بر پروتکل حمل و نقل اساسی ندارد، اما فقط به آن نیاز دارد قابلیت اطمینان، یا پیام گم شده ای وجود ندارد (به عنوان مثال، حداقل یک نمایش خطا). در میان دو پروتکل رایج حمل و نقل اینترنتی، TCP قابل اعتماد است در حالی که UDP قابل اعتماد نیست. HTTP متعاقباً به استاندارد TCP متکی است که مبتنی بر اتصال است، حتی اگر اتصال همیشه مورد نیاز نباشد.

    HTTP/1.0 یک اتصال TCP را برای هر تبادل درخواست/پاسخ باز می‌کند، با دو عیب مهم: باز کردن یک اتصال به تبادل پیام‌های متعدد نیاز دارد و بنابراین کند است، اگرچه هنگام ارسال پیام‌های متعدد یا هنگام ارسال منظم پیام کارآمدتر می‌شود: گرماتصالات موثرتر از سرد.

    برای کاهش این کاستی ها، HTTP/1.1 خط لوله (که اجرای آن دشوار بود) و اتصالات مداوم را معرفی کرد: اتصال TCP زیربنایی را می توان تا حدی از طریق هدر Connection کنترل کرد. HTTP/2 با افزودن چندگانه سازی پیام ها در یک اتصال ساده، گام بعدی را برداشت و به گرم نگه داشتن و کارآمدتر شدن اتصال کمک کرد.

    آزمایش‌هایی برای توسعه یک پروتکل انتقال بهتر و مناسب‌تر برای HTTP انجام می‌شود. برای مثال، گوگل در حال آزمایش QUIC است که مبتنی بر UDP است تا پروتکل حمل و نقل قابل اعتمادتر و کارآمدتری ارائه دهد.

    چه چیزی را می توان از طریق HTTP کنترل کرد

    توسعه پذیری طبیعی HTTP امکان کنترل و عملکرد بیشتر وب را در طول زمان فراهم کرده است. کش و روش های احراز هویت از ویژگی های اولیه در تاریخچه HTTP بودند. از سوی دیگر، توانایی کاهش محدودیت‌های اولیه، در سال 2010 اضافه شد.

    در زیر توابع رایج مدیریت شده با HTTP هستند.


    • سرور می‌تواند به پروکسی‌ها و کلاینت‌ها دستور دهد که چه چیزی و برای چه مدت در حافظه پنهان شوند. کلاینت می تواند به پروکسی های کش میانی دستور دهد که اسناد ذخیره شده را نادیده بگیرند.
    • محدودیت های منبع آرامش بخش
      برای جلوگیری از نرم‌افزارهای جاسوسی و سایر نفوذهای ناقض حریم خصوصی، مرورگر وب بین وب‌سایت‌ها کاملاً از هم جدا می‌شود. فقط صفحات از همان منبعمی تواند به اطلاعات موجود در صفحه وب دسترسی پیدا کند. اگرچه چنین محدودیت‌هایی بر سرور تحمیل می‌کنند، هدرهای HTTP می‌توانند جداسازی سخت‌گیرانه در سمت سرور را کاهش دهند و به سند اجازه دهند تا بخشی از اطلاعات دامنه‌های مختلف (به دلایل امنیتی) شود.
    • احراز هویت
      برخی از صفحات فقط برای کاربران خاص در دسترس هستند. احراز هویت اولیه را می توان از طریق HTTP، یا از طریق استفاده از WWW-Authenticate و هدرهای مشابه، یا با تنظیم یک جلسه ویژه با استفاده از کوکی ها، ارائه کرد.
    • پروکسی و تونل زنی
      سرورها و/یا کلاینت ها اغلب در اینترانت قرار دارند و آدرس های IP واقعی خود را از دیگران پنهان می کنند. درخواست های HTTPبرای عبور از این مانع شبکه از یک پروکسی عبور کنید. همه پراکسی ها پروکسی HTTP نیستند. برای مثال پروتکل SOCKS در سطح پایین تری عمل می کند. موارد دیگر مانند ftp را می توان توسط این پراکسی ها مدیریت کرد.
    • جلسات
      استفاده از کوکی HTTP به شما این امکان را می دهد که یک درخواست را با وضعیت موجود در سرور مرتبط کنید. این یک جلسه ایجاد می کند، حتی اگر HTTP یک پروتکل بدون حالت در هسته آن باشد. این نه تنها برای سبدهای خرید در فروشگاه های آنلاین، بلکه برای هر سایتی که به کاربر اجازه می دهد خروجی را سفارشی کند نیز مفید است.

    جریان HTTP

    هنگامی که یک کلاینت می خواهد با یک سرور ارتباط برقرار کند، خواه سرور نهایی باشد یا یک پروکسی میانی، مراحل زیر را دنبال می کند:

    1. باز کردن اتصال TCP: برای ارسال درخواست یا درخواست ها و دریافت پاسخ از یک اتصال TCP استفاده می شود. کلاینت می تواند یک اتصال جدید را باز کند، از یک موجود مجدد استفاده کند یا چندین اتصال TCP را به سرور باز کند.
    2. ارسال پیام HTTP: پیام های HTTP (قبل از HTTP/2) قابل خواندن توسط انسان هستند. از آنجایی که HTTP/2، پیام های سادهدر فریم ها محصور می شوند و خواندن مستقیم آنها را غیرممکن می کنند، اما اساساً یکسان می مانند. GET / HTTP/1.1 میزبان: سایت Accept-Language: fr
    3. پاسخ از سرور خوانده می شود: HTTP/1.1 200 OK تاریخ: شنبه، 9 اکتبر 2010، 14:28:02 GMT سرور: Apache آخرین تغییر: سه شنبه، 01 دسامبر 2009، 20:18:22 GMT برچسب ET: "51142bc179-5142bc179" محدوده پذیرش: بایت طول محتوا: 29769 نوع محتوا: متن/html
    4. اتصال را برای درخواست‌های بیشتر می‌بندد یا دوباره استفاده می‌کند.

    اگر خط لوله HTTP فعال باشد، می توان چندین درخواست را بدون انتظار برای دریافت کامل اولین پاسخ ارسال کرد. ادغام خط لوله HTTP در شبکه های موجود، جایی که قطعات نرم افزار قدیمی با نسخه های مدرن همزیستی دارند، دشوار است. خط لوله HTTP در HTTP/2 با درخواست های چندگانه قابل اعتمادتر در یک فریم جایگزین شد.

    پیام های HTTP

    HTTP/1.1 و پیام های HTTP قبلی قابل خواندن توسط انسان هستند. در HTTP/2، این پیام‌ها در یک ساختار باینری جدید، یک قاب، جاسازی می‌شوند که امکان بهینه‌سازی‌هایی مانند فشرده‌سازی هدر و چندگانه‌سازی را فراهم می‌کند. حتی اگر بخشی از پیام اصلی HTTP در این نسخه از HTTP ارسال شود، معنای هر پیام تغییر نمی کند و کلاینت درخواست اصلی HTTP را دوباره ایجاد می کند (عملا). همچنین برای درک پیام های HTTP/2 در قالب HTTP/1.1 مفید است.

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

    درخواست ها

    نمونه هایی از درخواست های HTTP:

    • روش HTTP، معمولاً یک فعل مانند GET،
    • هدرها (اختیاری) که اطلاعات اضافی را در اختیار سرور قرار می دهند.
    • یا یک بدنه، برای برخی از روش ها مانند POST که حاوی منبعی است که ارسال شده است.

    پاسخ ها

    نمونه پاسخ:

    • نسخه پروتکل HTTP.
    • کد وضعیت HTTP که موفقیت درخواست یا دلیل شکست را نشان می دهد.
    • پیام وضعیت - شرح مختصری از کد وضعیت.
    • هدرهای HTTP مشابه هدرها در درخواست ها هستند.
    • اختیاری: بدن حاوی منبع در حال ارسال.

    نتیجه

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

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