به گزارش خبرنگار حوزه دریچه فناوری گروه فضای مجازی باشگاه خبرنگاران جوان، قوانین و قواعد متعدد و خاصی در دنیای فناوری اطلاعات، اینترنت و ارتباطات شبکه ای وجود دارد که هر کدام بسته به نوع عملکردش وظایف خاصی را ایفا می کند. یکی از این قوانین و یا بنوعی پروتکل ها، پروتکل عمومی HTTP است که امروز باشگاه خبرنگاران جوان قصد دارد شما را با آن بیشتر آشنا کند.
منشور انتقال ابرمتن یا همان HTTP (Hypertext Transfer Protocol) ؛ یک پروتکل لایهٔ کاربرد (Application Layer) است که برای سیستمهای توزیع شده کاربرد دارد. پروتکل عمومی HTTP علاوه بر استفاده اصلی آن در ابرمتنها در بسیاری از زمینههای دیگر کامپیوتری مانند سامانهٔ نام دامنه (DNS) قابل استفاده است. از نسخه اولیه، این پروتکل در وب جهانی استفاده میشده است و آخرین بهروزرسانی آن باز می گردد به ماه جون سال ۱۹۹۹ که تحت عنوان «HTTP/۱.۱» معرفی شد.
تیم برنرز لی، طراح و پیشنهاد دهنده وب جهانی که اکنون تحت عنوان WWW شناخته میشود، برای نخستین بار پروتکل انتقال ابرمتن را به همراه ساختار اولیهٔ زبان نشانهگذاری ابرمتن (HTML) در یک وب سرور ساده و یک مرورگر مبتنی بر متن ارائه داد. در این نسخهٔ اولیه تنها روش درخواست (Request Method) موجود GET و تمامی پاسخها به زبان HTML بودند. نخستین نسخهٔ مستند پروتکل انتقال ابرمتن نسخهٔ ۰٫۹ آن بود که در سال ۱۹۹۱ منتشر شد.
بیشتر بخوانید: الکسا بخرید، میلیاردر شوید!
دیو راگت، که در سال ۱۹۹۵ گروه کاری پروتکل انتقال ابرمتن (HTTP Working Group) را رهبری میکرد، خواستار گسترش این پروتکل شد و نهایتاً نسخه ۱٫۰ تحت عنوان «HTTP/۱.۰» در سال ۱۹۹۶ به صورت رسمی معرفی شد. گروه کاری این پروتکل در ژانویه سال ۱۹۹۷ اولین استاندارد نسخهٔ ۱٫۱ را که در همان زمان توسط بسیاری از مرورگرها پشتیبانی میشد را به صورت رسمی منتشر کرد و آخرین بهروزرسانی نسخهٔ ۱٫۱ در جون سال ۱۹۹۹ در درخواست شماره ۲۶۱۶ (RFC ۲۶۱۶) انجام شد.
پروتکل HTTP از پروتکل TCP/IP در جهت بستن پلی میان سرور و کلاینت استفاده میکند. طریقه کار ارتباط کلاینت با سرور، با استفاده از پروتکل HTTP به این ترتیب است که داده ها، از طریق بستههای اطلاعاتی، بین سرور و کلاینت رد و بدل میشود. به این ترتیب که برای برای ارسال دادهای به سمت مقصد، در ابتدا، داده، به بخشهای کوچکتری شکسته میشود و سپس از هر کدام به سمت مقصد و با ترتیب مشخص ارسال میشوند. لازم به ذکر است که این پروتکل از Handshaking برای ارسال و دریافت دادهها استفاده میکند.
بیشتر بخوانید: الکسا اینترنت چیست؟
در Handshaking برای شروع و پایان عملیات دریافت و ارسال بستههای اطلاعاتی بین سرور و کلاینت، سوالاتی از مقصد پرسیده میشود. بعنوان مثال فرض کنید؛ کلاینت A میخواهد از سرور B دادههایی را دریافت نماید. برای این منظور A در ابتدا درخواستی را به B میفرستد تا آمادگی B را برای ارسال پرسوجو نماید. در اینحالت A صبر خواهد کرد تا B جوابی را به این پرسش ارسال نماید. پس از آنکه B آمادگی را خود اعلام کرد، A پیامی را سمت B میفرستد و از او میخواهد تا دادههای اطلاعاتی را بفرستد. B پیام را دریافت میکند و اطلاعات را آماده میکند و آن را به بستههای کوچکتری تقسیم میکند و توسط پروتکل Handshaking آنها را پشت سر هم و به ترتیب ارسال میکند.
لازم به ذکر است که پروتکل TCP/IP که در پروتکل HTTP مورد استفاده قرار میگیرد، امنیت دادهها و تضمین ارسال آنها را تماما بر عهده گرفته است. این پروتکل بر روی لایههایی قرار دارد و معماری این پروتکل بصورت چند لایه است. باید بدانید؛ HTTP یک پروتکل کاملا عمومی و مستقل است و شما میتوانید از آن برای اهداف و مقاصد بسیار زیادی به غیر از وب نیز استفاده کنید، علاوه بر این شما از extensionها یا متعلقات این پروتکل مثل Request Methodها (روشهای درخواست)، کدهای خطا یا Error Codeها و همچنین Headerها یا سرآیندهایی که در بستههای اطلاعاتی این پروتکل وجود دارد نیز میتوانید استفاده کنید. برای مثال شما میتوانید از طریق HTTP Header یک وب سایت، به نوع تکنولوژی مورد استفاده در آن پی ببرید.
بیشتر بخوانید: اشتباه الکسا؛ دستیار صوتی شرکت آمازون رسوایی به بارآورد
مبنا و معماری پروتکل HTTP همچون پروتکل TCP/IP است.HTTP سرویسی است که دادههایی همچون صفحات HTML، تصاویر، کوئریها و… را برا روی صفحهی جهان گستر (World Wide Web) سرویس دهی میکند. HTTP توانایی استفاده از پورتهای مختلف را دارا است، با این حال، پورت پیش فرضی که از آن استفاده میکند، پورت ۸۰ است. یک راه استاندارد برای ارتباط کامپیوترها با یکدیگر استفاده از پورت HTTP است. ویژگی خاصی که پروتکل HTTP دارد این است که، پس از دریافت درخواست از سمت Client بررسی میکند که چگونه این درخواست را قالب بندی وبه سمت Server ارسال کند، و همچنین نحوهی پاسخ Server به در خواست Client را نیز مشخص میکند.
انتهای پیام/