اگر هنگام نگاه کردن به آدرسهای وب در نوار بالای مرورگر خود دقت زیادی داشته باشید، احتمالاً اولین قسمت آدرس هر وبسایتی، حروف «HTTP» یا «HTTPS» را متوجه شدهاید. اما HTTP چیست و چگونه کار می کند؟ بیایید نگاهی به چسبی بیندازیم که وب را کنار هم نگه می دارد.
HTTP: نسخه کوتاه
HTTP مخفف و مخفف پروتکل انتقال ابرمتن است. بیایید کمی آن را تجزیه کنیم و با قسمت “پروتکل” شروع کنیم. در فناوری، یک پروتکل مجموعه قوانینی است که ماشین ها باید از آنها پیروی کنند تا با یکدیگر «صحبت کنند». به عنوان مثال، پروتکل های VPN تعیین می کنند که VPN ها چگونه با سرورها تعامل دارند. HTTP بسیار کمتر از آن مشخص است و در عوض قوانینی را برای نحوه عملکرد اینترنت تعیین می کند.
این اغراق نیست. بدون HTTP، هیچ ارتباطی در شبکه جهانی وب وجود نخواهد داشت. این به این دلیل است که HTTP بر ارتباط بین سرورهای وب و سرویس گیرندگان وب – بخش “انتقال” نظارت می کند. سرورهای وب جایی هستند که شما به آنها متصل می شوید تا بتوانید سایت ها را مشاهده کنید. به عنوان مثال، شما در حال حاضر با وب سرور owjkade.com در تماس هستید، بنابراین می توانید این مقاله را بخوانید.
برای دسترسی به وب سرور، به یک سرویس گیرنده وب نیاز دارید. بیشتر اوقات، این مشتری مرورگر شماست، اما واقعاً می تواند هر نوع برنامه ای باشد. به عنوان مثال، اگر از برنامه تلفن همراه فیس بوک روی این مقاله کلیک کرده اید، مرورگر درون برنامه ای فیس بوک مشتری وب شما است. تعامل کلاینت و سرور تقریباً همان چیزی است که کل اینترنت به آن خلاصه می شود و HTTP در آن ضروری است.
قسمت پایانی مخفف HTTP قسمت «فوق متن» است، که نوع فایلهایی است که تقریباً همیشه از طریق فایلهای HTML منتقل میشوند. این نوع فایلها بلوکهای سازنده وب هستند، زیرا فقط زبان را نمایش نمیدهند، بلکه میتوانند به هم مرتبط شوند. این با انواع فایل هایی که در دستگاه خود دارید متفاوت است، که معمولاً نمی توانند این کار را انجام دهند.
چگونه HTTP به طور خلاصه کار می کند
HTTP پروتکلی است که روی لایه به اصطلاح کاربردی اینترنت، بالای لایه اینترنت اجرا میشود، جایی که مهرهها و پیچهای واقعی وب مانند آدرسهای IP هستند. لایه برنامه جایی است که مرورگرها و برنامه هایی را که هر روز استفاده می کنید پیدا خواهید کرد و HTTP بسیار بخشی از آن است.
نحوه کار این است که مرورگر شما، مشتری، درخواست HTTP را از طریق شبکه ارسال می کند که توسط سرور سایتی که می خواهید به آن دسترسی داشته باشید پردازش می شود. سپس سایت یک پاسخ HTTP را ارسال می کند، که اگر همه چیز خوب پیش رفت، صفحه ای است که می خواهید ببینید. سپس مرورگر پاسخ را نمایش می دهد.
شکستن درخواست های HTTP
البته، کمی بیشتر از آن وجود دارد. یک درخواست HTTP در واقع از چندین قسمت تشکیل شده است که هر کدام نقش مهمی در نحوه نمایش سایت دارند. از مهم ترین بخش های هر درخواست می توان به روش HTTP، سربرگ های درخواست و بدنه درخواست اشاره کرد.
این روش معمولاً عملی است که از HTTP خواسته میشود انجام دهد، بنابراین بازیابی اطلاعات یا ارائه آن (به ترتیب دستورات «GET» و «POST»، اگرچه تعداد زیادی از آنها وجود دارد). توضیح سرصفحه های درخواست HTML کمی سخت تر است، اما آنها را به صورت پاکت در نظر بگیرید: هر کدام حاوی آدرس مکانی است که می رود، آدرس فرستنده، به علاوه یک سری اطلاعات دیگر، مانند نوع صندوق پستی (مرورگر) و همچنین اطلاعاتی در مورد رمزگذاری.
بدنه HTML پاکت را با اطلاعاتی مانند اطلاعات ورود یا هر چیز دیگری که سرور برای نمایش صفحه باید بداند، “پر” می کند. گاهی اوقات خالی است و پاکت، هدر درخواست، کافی است.
پاسخ های HTTP
با دریافت درخواست، وب سرور اکنون شروع به کار بر روی پاسخ خود می کند، که همچنین از سه بخش تشکیل شده است: کد وضعیت HTTP، هدر پاسخ و بدنه پاسخ. هدر و بدنه در درخواستها بسیار شبیه همتایان خود هستند، با این تفاوت که بدنه حاوی اطلاعات بسیار بیشتری است، مانند فایلهایی که اطلاعات را برای نمایش یک صفحه وب حمل میکنند.
کدهای وضعیت چیز جالبی هستند، زیرا به احتمال زیاد همه ما بدون اینکه متوجه باشیم چه هستند با آنها روبرو شده ایم. آنها سه رقمی هستند که می توانند با اعداد 1 تا 5 شروع شوند. هر سری مخفف چیزی است. بنابراین هر کد سه رقمی که با 2 شروع شود به معنای موفقیت است (صفحه بدون مشکل نمایش داده می شود)، در حالی که کدی که با 4 شروع می شود به معنای خطا است، مانند کد بدنام 404: صفحه یافت نشد.
این سیستم تماس و پاسخ، اساس هر کاری است که ما در اینترنت انجام می دهیم. اگرچه پیچیده تر از آنچه در بالا توضیح دادیم می شود، اما اصول اولیه را پوشش می دهد. البته این موضوع وجود دارد که چگونه همه این ارتباطات ایمن نگه داشته می شوند.
امنیت HTTP
اینجاست که ما با مشکل HTTP مواجه می شویم: هیچ یک از اطلاعات به هیچ وجه رمزگذاری یا محافظت نمی شود. این صرفاً درخواست و دریافت است، هیچ مرحله ای وجود ندارد که امنیت اضافه شود. هر کسی که بتواند پیامها را رهگیری کند، میتواند آنچه ارسال میشود را ببیند، که شامل مواردی مانند شماره کارت اعتباری یا اطلاعات حساب است.
به نوعی، مانند زمانی است که با همسایهای روی حصاری صحبت میکنید که داراییهای شما را از هم جدا میکند: هر کدام در منطقه خود هستید، اما اگر کسی به اندازه کافی نزدیک باشد، میتواند هر کلمهای را که میگویید بشنود.
همانطور که می توانید تصور کنید، این یک خبر بسیار بد برای اکثر کاربران اینترنت و خبر فوق العاده خوبی برای افرادی است که آنها را شکار می کنند. برای رفع این مشکل، نوع جدیدی از HTTP به نام HTTPS ارائه شد که در آن حرف آخر «S» مخفف «امن» است. این نوع HTTP اطلاعات را رمزگذاری می کند و به اصطلاح گوش دادن به آن را برای هر کسی سخت تر می کند.
در حال حاضر، دیدن آنچه که HTTP «ساده» نامیده میشود، کمتر و کمتر رایج میشود، زیرا در چند سال گذشته تقریباً هر سایتی که قابل ذکر است به HTTPS منتقل شده است. برخی از آنها – به دلایلی که بسته به مالک سایت متفاوت است – در برابر این تغییر مقاومت کرده اند. ممکن است بخواهید از آنها دوری کنید، یا حداقل از یک VPN برای محافظت از هرگونه اطلاعات حساس استفاده کنید.
گفته میشود، اگرچه HTTPS قطعاً یک ارتقاء حیاتی است، این همه چیزی است که یک ارتقاء است. HTTP از زمان شروع به کار اینترنت را تامین کرده است و ما شک داریم که به این زودی تغییر کند.