پرش به مطلب اصلی

HTTP

این فاز، یکی از فازهای Readonly است.

مقدمه

در این فاز قصد داریم با پروتکل HTTP آشنا شویم.

  • پروتکل HTTP چیست؟
  • منظور از Hyper Text یا ابرمتن چیست؟
  • روش‌های درخواست در پروتکل HTTP ؟
  • HTTP چه چیزهایی را می‌تواند کنترل کند؟
  • DNS چیست؟
  • چطور DNS کار می‌کند؟
  • اجزای اصلی DNS

یادگیری

پروتکل HTTP چیست؟

پروتکل‌های اینترنتی به عنوان مهم‌‌ترین و پرکاربردترین استاندارد برای تبادل اطلاعات در شبکه‌‌های اینترنتی شناخته می‌شوند. پروتکل HTTP یا Hyper Text Transfer Protocol یکی از استانداردهای پرکاربرد تعریف شده برای شبکه‌های اینترنتی است که مدتی بعد از ساخت اولین سایت‌ها ایجاد شد. این استاندارد به تدریج توسعه پیدا کرد و کنسرسیوم جهانی وب (W3C) وظیفه توسعه و نظارت این پروتکل را بر عهده گرفت.


Http مخفف عبارت Hyper Text Transfer Protocol است که به معنی پروتکلی برای انتقال ابرمتن‌ها می‌باشد. بر اساس این پروتکل، امکان ایجاد صفحات وب و سایت‌های اینترنتی فراهم شد. این پروتکل وظیفه برقراری ارتباط میان سرور و کلاینت را در یک شبکه کامپیوتری برعهده دارد. به عبارتی دیگر این پروتکل مسئولیت برقراری ارتباط بین سرویس دهندگان و سرویس گیرندگان وب را برعهده دارد.

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


منظور از Hyper Text یا ابرمتن چیست؟

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


روش‌های درخواست در پروتکل HTTP

پروتکل Http روش‌‌های مختلفی را برای درخواست اطلاعات در شبکه وب تعریف کرده‌ است. هر کدام از این روش‌ها با هدف خاصی در وب سرورها استفاده می‌شوند. در ادامه به توضیح هر کدام از این روش‌ها می‌پردازیم:

GET

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

POST

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

PUT

در این روش داده هایی به همراه پیام درخواست به سرور ارسال می‌شود. سپس از سرور تقاضا می‌ شود که این داده‌ها را در آدرس مشخص شده ذخیره کند. اگر در محلِ درخواست شده از قبل داده‌های دیگری ذخیره شده باشند، داده‌های جدید جایگزین خواهند شد.

PATCH

این روش در سال ۲۰۱۰ به پروتکل http اضافه شد. این روش برای ایجاد تغییرات جزیی بر روی داده‌ها مورد نظر در سرور استفاده می‌ شود.

DELETE

از این روش برای حذف یک آدرس در سرور استفاده می‌شود.

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


HTTP چه چیزهایی را می‌تواند کنترل کند؟

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

کش کردن

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

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

Origin

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

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

احراز هویت (Authentication)

برخی صفحه‌های وب را می‌توان محافظت کرد، به طوری که تنها کاربران خاصی بتوانند به آن‌ها دسترسی داشته باشند. فرایند ابتدایی احراز هویت می‌تواند از سوی HTTP ارائه شود، که این کار یا از طریق WWW-Authenticate و هدرهای مشابه یا با تعیین یک نشست خاص با استفاده از کوکی‌های HTTP انجام می‌یابد.

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

نشست‌ها (Sessions)

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

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


DNS چیست؟

DNS (Domain Name System) یک سیستم است که نام دامنه‌های قابل خواندن توسط انسان (مثل www.example.com) را به آدرس‌های IP قابل فهم برای کامپیوترها (مثل 192.0.2.1) تبدیل می‌کند. این فرآیند شبیه به دفترچه تلفن است که در آن نام افراد به شماره تلفن‌هایشان تبدیل می‌شود.

چرا DNS مهم است؟

DNS به شما اجازه می‌دهد که به جای وارد کردن یک رشته عددی پیچیده (آدرس IP )، با وارد کردن یک نام دامنه به وبسایت‌ها دسترسی پیدا کنید. این سیستم استفاده از اینترنت را بسیار ساده‌تر و کاربرپسندتر می‌کند.

چطور DNS کار می‌کند؟

  1. درخواست کاربر: وقتی شما نام دامنه‌ای را در مرورگر وب خود وارد می‌کنید (مثل www.example.com)، مرورگر شما درخواست خود را به یک سرور DNS ارسال می‌کند.

  2. جستجوی سرور DNS: سرور DNS به دنبال آدرس IP مرتبط با آن نام دامنه می‌گردد. اگر این اطلاعات را در حافظه خود داشته باشد، سریعاً آدرس IP را برمی‌گرداند. اگر نه، درخواست را به سرور DNS دیگری ارسال می‌کند.

  3. برگرداندن آدرس IP: وقتی که آدرس IP پیدا شد، به مرورگر شما بازگردانده می‌شود.

  4. اتصال به وبسایت: مرورگر شما با استفاده از آدرس IP دریافتی، به سرور وبسایت متصل می‌شود و صفحه وب مورد نظر را بارگذاری می‌کند.

با این توضیحات، حالا باید بهتر بفهمید که DNS چیست و چگونه کار می‌کند. اگر سوالات بیشتری دارید، منابع آنلاین زیادی برای یادگیری عمیق‌تر موجود است که چندتا از آنها را در لینک های زیر برایتان قرار داده ایم: