نشست (علوم رایانه)

(تغییرمسیر از نشست ارتباطی)

نشست (به انگلیسی: Session) در علوم رایانه به اطلاعات نیمه‌دائم تعاملی گفته می‌شود. از طرفی به مجموعه عملیاتی که پس از برقراری یک ارتباط بین دو فرایند و با یک توافق اولیه آغاز و سپس یک سری تراکنش (transaction) ادامه می‌یابد و سپس در روالی هماهنگ و مورد توافق ختم می‌شود، یک نشست می‌گویند.[۱]

شناسه نشستویرایش

شناسه نشست (Session ID) در یک عبارت کوتاه مشخصه‌ای است جهت شناسایی یک نشست مجاز، تعقیب عملیات مورد درخواست و فعل و انفعال منظم با او! بدین ترتیب سرویس دهنده گذشته‌اش را به یاد می‌آورد و از حال Stateless (بدون حالت) به Stateful (حافظ حالت) تبدیل می‌شود.

لایه ی نشستویرایش

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

وظایف کلی لایهٔ نشست

  • برقراری و مدیریت یک نشست
  • شناسایی طرفین
  • سنکرونیزاسیون تماس‌ها و فعل و انفعالات همزمان
  • مشخص نمودن اعتبار پیام ها
  • اتمام نشست
  • حسابداری مشتری‌ها (Accounting)[۲]

کاربرد‌هاویرایش

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

توکن نشست در اچ‌تی‌تی‌پیویرایش

توکن نشست (Session Token) در حقیقت شناسه‌ای واحد است که در سرور‌ تولید و برای کلاینت فرستاده می‌شود تا نشست فعال کنونی را تشخیص دهد.

نشست در پی‌اچ‌پیویرایش

یکی از اسکریپت‌هایی که طراحان وب برای ایجاد وبسایت استفاده می‌کنند پی‌اچ‌پی است. برای استفاده از نشست در پی‌اچ‌پی باید از تابع ()session_start استفاده کرد که این تابع باید در ابتدای صفحه وب و قبل از هر داده (حتی تگ‌های HTML) قرار داد. برای استفاده از نشست باید از آرایه گلوبال $_SESSION استفاده کرد. این یک ارائه انجمنی است که می‌توانید برای هر کلید دلخواه ان یک مقدار ذخیره کرد.

مثالویرایش

یک مثال کاربردی با زبان پی‌اچ‌پی:

<?php
// to run session
session_start();
// write data in session
$_SESSION["username"] = "miladrahimi93";
$_SESSION["email"] = "info[at]example[dot]com";
$_SESSION["website"] = "http://www.example.com";
// read data from session
echo $_SESSION["username"];
echo $_SESSION["email"];
echo $_SESSION["website"];
// delete session
unset($_SESSION["username"]);
unset($_SESSION["email"]);
unset($_SESSION["website"]);
?>

منابعویرایش

  1. اصول مهندسی اینترنت دکتر ملکیان. چاپ سی و نهم
  2. اصول مهندسی اینترنت دکتر احسان ملکیان، ویراست دوم