会话 (计算机科学)

✍ dations ◷ 2025-10-23 03:56:35 #网络协议

在计算机科学领域来说,尤其是在网络领域,会话(session,Microsoft Windows 中文版译作工作阶段)是一种持久网络协议,在用户(或用户代理)端和服务器端之间创建关联,从而起到交换数据包的作用机制,session在网络协议(例如telnet或FTP)中是非常重要的部分。

在不包含会话层(例如UDP)或者是无法长时间驻留会话层(例如HTTP)的传输协议中,会话的维持需要依靠在传输数据中的高级别程序。例如,在浏览器和远程主机之间的HTTP传输中,HTTP cookie就会被用来包含一些相关的信息,例如session ID,参数和权限信息等。

TCP 会话通常是通过子进程和(或)多线程在软件中实现的,当计算机创建或者加入一个会话时即创建一个新的进程或线程。HTTP 会话通常不会针对每个会话创建一个线程,而是由一个储存每个会话状态信息的数据库实现的。使用多线程或者多进程的方式带来的好处是降低了软件的复杂度,因为每个线程或者进程都单独具备自己的历史信息并且封装了变量。而这样做的劣势是带来了大量系统资源的开销,而且会话会因为系统的重启而被打断。

当客户端在多个服务器调取数据时,保持会话状态的一致性是需要注意的,客户端需用同时保持和某一个主机的连接,或者多个服务器端需要共享一个储存会话信息的文件系统或者数据库。否则,当用户在一个新的而不是一开始保存会话信息的主机上提交访问请求的时候,主机会因为无法获知原来主机的会话的访问状态而产生问题。

服务器端的会话是快速而高效的,但是在负载均衡系统和高速应用系统中的使用会比较麻烦,而在没有储存能力的系统上更是无法使用。在负载均衡系统中可以通过共享储存或者设立独立的存储服务器来解决,这需要根据系统的效率和加载分布的需求情况。

使用缓存存储会话数据是一种不需要储存介质的解决方案。这种方式适合于处理少量数据的客户端操作(例如路由或网络桥接器对多个客户端产生的请求)。但是这种方式会消耗较多内存空间。

客户端会话使用了Cookie和加密技术来完成上面提到的数据储存需求。

在动态页面完成解析的时候,储存在会话中的变量会被压缩后传输给客户端的Cookie。此时完全依靠客户端的文件系统来保存这些数据(或者内存)。

在每一个成功的请求中,Cookie中都保存有服务器端用户所具有的身份证明(PHP中的session id)或者更为完整的数据。

虽然这样的机制可以保存数据的前后关联,但是必须要保障数据的完整性和安全性。

相关

  • 经典力学经典力学是力学的一个分支。经典力学是以牛顿运动定律为基础,在宏观世界和低速状态下,研究物体运动的基本学科。在物理学里,经典力学是最早被接受为力学的一个基本纲领。经典力
  • 拉德芳斯拉德芳斯(法语:La Défense)是巴黎都会区(英语:Paris Metropolitan Area)首要的中心商务区,位于巴黎市西郊的上塞纳省,邻近塞纳河畔纳伊。其涵盖的市镇包括库尔贝瓦以及皮托和南泰尔
  • 官方文字官方文字是宪法或其他适用的法律所指定的法定文字。类似官方语言,但官方文字较为罕见,主要是当官方语言有多过一套文字时,才需要官方文字。由于对这些语言来说,人们使用那一套文
  • 多瑙河多瑙河(德文:Donau)是欧洲第二大河,次于俄罗斯的伏尔加河,发源于德国黑森林地区,最后注入黑海,全长2857千米,流域面积81.7万平方千米,平均流量为6500立方米/秒。多瑙河是中东欧极为重
  • 黄体化激素黄体化激素(英语:Luteinizing hormone,LH),是一种在脑下垂体前叶合成的荷尔蒙。它的形成是受到促性腺激素释放激素(GnRH)的控制。在女性体内,黄体化激素会刺激卵巢释放卵子,它的周
  • 治安公共安全是指保护个人、财产、物品不受到灾害或事故等危险的威胁。在不同的社会制度下,对公共安全的认识和评价也不相同。公共安全大致可以分为自然安全;地震、海啸等;人为安全
  • 微睡眠微睡眠(英语:Microsleep)是指一小段维持几秒到半分钟不等的陷入睡眠或者睡意昏沉的时间,在此期间,人不对任何感官知觉有所反应而处于无意识状态。微睡眠主要表现为在一小会儿失去
  • 凯恩蒂莫西·迈克尔·“蒂姆”·凯恩(英语:Timothy Michael "Tim" Kaine,1958年2月26日-)生于明尼苏达州圣保罗,美国律师、政治人物,现任弗吉尼亚州联邦参议员。曾任传教士,从政后曾担任
  • 纤维化 (数学)数学中,尤其是代数拓扑,一个纤维化(fibration)是一个连续映射对任何空间满足同伦提升性质。纤维丛(在仿紧底上)构成一类重要例子。在同伦论中任何映射和纤维化“一样好”——即任
  • 无穷 N ⊆ Z ⊆ Q ⊆ R ⊆