نشست (علوم رایانه)
نشست (به انگلیسی: 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"]);
?>