سرور

HTTP پروتکل انتقال ابر متن (HyperText Transport Protocol)

HTTPT، پروتکل انتقال ابر متن (HyperText Transport Protocol)

HTTPT، پروتکل انتقال ابر متن (HyperText Transport Protocol) پروتکلی است که مرورگرها برای صحبت کردن با سرورها از آن استفاده می کنند که ما از آن برای چیزهای دیگری استفاده کرده ایم این یک پروتکل فوق العاده ساده و فوق العاده ظریف است.

این پروتکل در سال ۱۹۹۰ اختراع شد که حدود 30 سال در حال استفاده است. یکی از اختراعات تیم برنرز لی (Tim Berners-Lee) و رابرت کایلیاو (Robert Cailliau) در CERN این بود که ما به جای تکه های زیادی از نرم افزار ها یک تکه نرم افزار به نام مرورگر وب داشته باشیم و چند پروتکل.

پس بنابراین چیزی به نام URL یا (Uniform Resource Locator) مکان یاب منابع یکنواخت داریم که فقط از آنها استفاده می کنیم. اما این خود یک نوآوری شگفت انگیز در سال ۱۹۹۰ بود، چرا که قبل از آن می گفتند:

«از این تکه نرم افزار استفاده کنید و با این آدرس فراخوانی کنید.»

URL سه چیز واقعا مهم و بسیار جداگانه را ایجاد کرد. اولین کاری که انجام داد این است که پروتکل های متعددی مجاز به استفاده از آن می باشند، و پروتکلی که همه ما بیشتر دیده ایم HTTP یا HTTPS است. ftp: یا mailto: ممکن است پروتکل های دیگری باشند که شما دیده اید و سپس یک میزبان(host)، و سپس یک سند(document).

میزبان(host) یک نام دامنه است، که یک راه نمادین خوب برای دریافت یک آدرس سرور است. و این در نهایت به یک آدرس آی پی مانند 141.206.14.22 وصل می شود و سپس یک سند در داخل سرور به نام /page1.htm وجود دارد. قبل از سال 1990، پروتکل های زیادی وجود داشت اما پس از سال 1990، پروتکل HTTP، راه خود را در بسیاری از راه حل ها پیدا کرد که آن را تا کنون، به غیر از ایمیل ندیده بودیم ،که فی الحال پروتکل غالب است که ما در اینترنت استفاده می کنیم.

همانطور که گفتم، آن را در CERN توسط تیم برنرز لی (Tim Berners-Lee) و رابرت کایلیاو (Robert Cailliau) برای بازیابی اسناد و تصاویر اختراع شد. و به محض اینکه آنها آن را ساختند، چون پروتکل های دیگر به نوعی پیچیده بودند، اما این زمانی بود که وب در حال ساخت بود و مفهوم اساسی این بود که شما به یک سرور متصل شوید، شما می فهمید که کجاست، شما یک فرمان واحد با کمی داده اضافی ارسال می کنید، و بعد چیزی را پس می آورید، یک سند، می تواند یک تصویر باشد، می تواند داده باشد، می تواند HTML باشد.و بنابراین سوکت های زمینه ای(underlying sockets) چیزهایی هستند که تماس تلفنی برقرار می کنند، HTTP کاری است که ما انجام می دهیم یک بار این تماس تلفنی برقرار شده است.

 و گروهی مجموعه ای از استانداردها و جلسات را برای کمک به ساخت این استانداردها ایجاد کردند،که آنها RFCs نامیده می شوند، آنها را Request for Comments می نامند.گروهی به نام کارگروه مهندسی اینترنت، IETF این اتفاق را رقم زدند.

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

بنابراین شما معمولا با پورت 80 یا پورت 443 با سوکت به سرور متصل می شوید و سپس مشتری قرار است برای اولین بار درخواست اول را که یک خط می باشد بفرستد و یک خوراک یا فید(feed) در پایان به او ارسال می شود.سپس شما برای یک سند درخواست ارسال می کنید و سپس به طور اختیاری می توانید برخی از اطلاعات سر برگ ارسال کنید. چیزهایی مانند، این فرد در این مرورگر چه زبانی را ترجیح می دهد، قابلیت های این مرورگر چه هستند و…(مانند errorweb.ir/fa/author/amirhosein-bagheri).

شما می گویید، این سند را به من نشان بده و یک سری اطلاعات در مورد مرورگر نیز در هر url که درخواست سند می کند وجود دارد، از جمله اطلاعاتی مانند کوکی هایی.در صورتی که شما می خواهید بدانید که چه کسی برای این درخواست وارد سایت شده یک کوکی نشان می دهد که چه کسی وارد شده اند، که همه در یک درخواست GET ارسال شده است. اما سرصفحه ها(headers) را نمی فرستیم. در واقع یک سری هدرهای ورودی و سپس هدرهای خروجی وجود دارد. اگر نگاهی به کنسول اشکال زدایی فایرفاکس(debugging console) کنیم این هدرها را خواهیم دید.

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

$ telnet data.pr4e.org 80

تصویر زیر نمونه ای از یک پروتکل HTTP 1 است با تلنت ایجاد شده است.

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

هدر اول HTTP 1.1 200 OK است که یک خط وضعیت است، مثلا 200 به این معنی است که شما یک سند دریافت کرده ای. چیز دیگری که شما ممکن است دیده باشید 404 است، که به معنای یافت نشدن اطلاعات است. نوع محتوا در این مورد text / html است و بعد یک فضای خالی قرار دارد پس از آن مرورگر شما تمام این اطلاعات را خوانده و هم فراداده ها و هم داده های مربوط به صفحه بازیابی شده را جمع آوری میکند و سپس کار آن این است که به نوعی یک نسخه بسیار رندر شده از صفحه تولید کند و آن را به شما نشان دهد.این همان چرخه درخواست-پاسخ ( request-response) است.

 اگر می خواهید تلنت را روی سیستم خود نصب کنید، نصب تلنت چیز بدی نیست گرچه در حال حاضر ما از چیزی مانند کنسول های توسعه دهنده مرورگر که راه آسان تر از telnet است استفاده می کنیم.

برای خواندن مقاله 11 روشon-page seo برای بهبود رتبه بندی در سال 2021 بر روی لینک کلیک کنید

کلمات کلیدی:HTTPT، پروتکل انتقال ابر متن (HyperText Transport Protocol)،پروتکل انتقال در پایتون

امیرحسین باقری

امیرحسین باقری هستم عاشق برنامه نویسی مخصوصا با python و همینطور طراح قالب و متخصص فرانت اند؛ از دانشی که تو این مدت بدست آوردم میشه به HTML, CSS, Bootstrap, Flexbox, SASS, Python, Django, DRF و هوش مصنوعی اشاره کرد.

دیدگاهتان را بنویسید

دکمه بازگشت به بالا