درخواست و پاسخ
ارتباط http
در اینترنت مبتنی بر درخواست (request
) و پاسخ (response
) هست. یعنی شما اطلاعاتی رو از یه سرور درخواست میکنین و سرور هم براتون ارسال میکنه.
در حالت سادهی ساده، شما یه فایل html
یا jpg
یا ... (فایلی که کد برنامهنویسی طرف سرور برای تفسیر و اجرا نداره) از یه سرور درخواست میکنین و سرور هم فایل رو برای شما میفرسته.
در حالت کمی پیچیدهتر شما باز هم یه فایل ساده رو از سرور درخواست میکنین اما سرور یه سری بررسیهایی انجام میده و بعد فایل رو برای شما میفرسته. مثلاً این که ip
ای که فایل رو درخواست کرده مجازه که فایل رو ببینه؟ فایل درخواستی به صورت عمومی در دسترسی هست؟
وقتی فایل برای شما ارسال شد، سرور دیگه شما رو نمیشناسه. یک ارتباط ایجاد و قطع شده و دفعهی بعد که شما درخواست دیگهای به سرور بدین به عنوان یک فرد جدید شناسایی میشین.
در این روش شما مثل یه مشتری هستین که به فروشگاه مراجعه میکنین و جنس مورد نظرتون رو درخواست داده و میخرین.
این رابطهی درخواست و پاسخ خیلی کامل نیست. فرض کنید شما وارد فروشگاهی میشین که از اونجا جنس نسیه خرید میکنین. در این صورت هر دفعه که جنسی خرید میکنین فروشنده مبلغ جتس رو روی بدهی قبلی شما میذاره (و مبلغی که از شما دریافت کنه از بدهی قبلیتون کسر میکنه)
بنابراین در این حالت فروشنده باید شما رو بشناسه. این شناختن گاهی سادهاست یعنی فقط با چهره. گاهی با یه کارت اعتباری انجام میشه. این کارت اعتباری مثل کارت اعتباری بانکهاست.
session
وقتی شما در یک رابطهی http
میخواین یه سری اطلاعات از شما به صورت موقت با سرور مشترک باشه تا هر دفعه دوباره از شما اون اطلاعات رو درخواست نکنه از session استفاده میکنین.
session در یک زمان شروع شده و در زمانی دیگه منقضی میشه.
مثلاً فرض کنین شما در یک وبسایت خرید کتاب هستین و تصمیم دارین چندین کتاب رو بخرین. برای این کار از صفحهی کتابهای علمی یک کتاب علمی، از صفحهی کتابهای طنز یک کتاب و ... انتخاب میکنین.
وقتی شما از صفحهی کتابهای علمی (که در اون کتابی رو انتخاب کردین) به صفحهی کتابهای طنز (که در اون هم میخواین یک کتاب انتخاب کنین) برین، مطابق http
ساده، شما فرد جدیدی تلقی خواهید شد و بنابراین با رفتن به صفحهی دوم سفارش اول شما ناپدید میشه.
بنابراین لازمه در اینجا یه قراری با سرور بذارین. تاوقتی که شما دارین توی صفحههای وبسایت گشت و گذار میکنین همهی سفارشهای صفحههای مختلف رو برای شخص شما در نظر بگیره و در انتها سبد خرید شما رو بردی پرداخت به شما ارائه کنه.
بنابراین یه قرار مدت دار بین شما (کلاینت) و سرور برقرار میشه که در اون شما توسط سرور شناسایی میشین.
این مفهوم اصلی session هست.
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)