شیوا توکل
شیوا توکل
خواندن ۴ دقیقه·۵ سال پیش

مروری بر پروتکل http


ابتدا قراربود این مقاله درارتباط باHTTP باشه اما چیزای دیگه ای هم هستن که با HTTP ارتباط تنگاتنگی دارن پس قبل از اینکه درارتباط با پروتکل HTTP چیزی بگم بهتره راجب URL کمی بیشتر بدونیم.


واما (URL ( Uniform Resource Locator:

درنوار بالای مرورگرخود میتونیم یک نمونه URL ببینیم درواقع بسیاری از URL‌ها، موقعیت یک فایل را در جایی از فضای وب برای ما تعیین می‌کنن به عبارت دقیق تر URL مسیر یک صفحه خاص از سایت را نشان می دهد که منحصر به فرد است و نیازی به WWW ندارد( البته استفاده کردن یا نکردن از www بیشتر در مباحث سئو مهم است) و بجای آن از //:Http استفاده می کنه.


حالا این URL شامل چه چیز هایی میشه؟


-Protocol

-DomainName

-Port

-Path



1.پروتکل(protocol):


نشان میده که مرورگر از کدام پروتکل باید استفاده کنه،دربیشتر موارد از HTTP استفاده میشه و گاها ازHTTPS که نمونه امن آن است.


  • الف)پروتکلHTTP چیست؟

HTTP:Hyper Text Transfer Protocol

اصطلاحا به پروتکلی گفته میشه که برای ایجاد ارتباط ،دریافت و ارسال داده ها بین سرور و کلاینت استفاده می شه.

این پروتکل قابل بسط درسال1991طراحی شد که بارها تکامل یافته.

پروتکل HTTP از پروتکل TCP/IP، که امنیت داده ها و تضمین ارسال آنهارا تماما برعهده داره،برای بستن پلی میان server و client استفاده میکنه.

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


  • ب)پیام های HTTP:

نحوه عملکرد HTTP به اینصورت است که برای مثال آدرسی را در مرورگر وارد میکنید ابتدا از کامپیوتر شما پیامی که به آن اصطلاحا request گفته میشه به server فرستاده میشه و سرور پاسخ خودرا ،کهresponse نامیده میشه،به client(هروسیله ای که ازطرف کاربررفتارمیکند) میفرسته.

درواقع مرورگر تمام درخواست ها و پاسخ ها را ترجمه و تفسیر میکند و به صورت HTTP request و HTTP response در می اورد که اینها دو نوع پیام HTTPهستند.

پیام های HTTP به صورت encode ،ASCII شدند.


  • ج) MIME Types:

از MIME types برای مشخص کردن نوع اطلاعات یک فایل استفاده میشه.(شبیه همون پسوند فایل ها مثل jpg، pdf، mp3 و غیره)

به عکس زیر دقت کنید در قسمت Content-Type نوع فایل که دراینجا text/html است مشخص شده.

بطور کلی به صورت type/subtype نمایش داده میشود.

دراینجا میتوانید لیست کاملی از MIME Types ببینید.

  • د) حافظه نهان یا cache:

حافظه نهان تکنیکی است که برای نگه داری فایل هایی که بین سرور و کاربر رد و بدل شده استفاده میشود که دارای دو نوع private caches و shared caches میباشد.

چرا باید کش مرورگر را خالی کنیم؟

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

همچنین میتوانید درقسمت cache ، settingمرورگرتان را پاک کنید.


  • ه) HTTP redirect یا تغییر مسیر:

شما میتوانید کاربران را به فایل، Directory و یا سایت دیگری redirect کنید.

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


به عنوان پرسش آخر این بخش آیا HTTP بهترین راه حل ممکن است؟

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

اما می‌توان با بهره بردن از HTTPS انتقال اطاعات بین سیستم‌ها را با امنیت انجام داد،

که به معنای پروتکل امن انتقال ابرمتن است و کاربرد بسیاری در ارسال اطلاعات بین سیستم‌ها به‌صورت امن داره.

HTTPS:hyper text transfer secure


2.نام دامنه(DomainName):


نام دامنه نشان میده که کدام وب سرور مد نظر است .همچنین میشه مستقیما از آدرس IP سایت مورد نظر استفاده کرد.

برای بدست آوردن IP یک سایت میتونید از روش های زیر استفاده کنید:


  • لینوکس: ترمینال را باز کنید و دستور زیر را وارد کنید

host <DomainName>

  • ویندوز: cmd را باز کنید و دستور زیر را وارد کنید

ping <DomainName>


3.پورت(Port):


نشان دهنده "درگاه" فنی است که برای دسترسی به منابع روی سرور وب استفاده می شود.

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

(80 برای HTTP و 443 برای HTTPS)


4.مسیر (path):

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


اگر این مقاله برای شما مفید بود در انتشار آن کوتاهی نکنید :)

شیوا توکل | 15 بهمن 98



httpwebbrowserurlhtml
Front-End Developer
شاید از این پست‌ها خوشتان بیاید