会话 (计算机科学)

✍ dations ◷ 2025-10-02 15:27:24 #网络协议

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

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

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

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

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

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

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

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

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

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

相关

  • 维多利亚瀑布维多利亚瀑布(英语:Victoria Falls)或称莫西奥图尼亚瀑布(赞比亚汤加语:Mosi-oa-Tunya),位于非洲赞比西河的中游,赞比亚与津巴布韦之间,是世界三大瀑布之一。它宽约1.7千米,高约128米
  • 于格·卡佩雨果·卡佩(法语:Hugues Capet,941年-996年10月24日),一译于格·卡佩,法兰西国王。巴黎伯爵伟大雨果的儿子。祖父为西法兰克国王罗贝尔一世。956年继承父亲为法兰西公爵。 987年被
  • 席格蒙迪里夏德·阿道夫·席格蒙迪(德语:Richard Adolf Zsigmondy,1865年4月1日-1929年9月24日),奥地利、德国籍的匈牙利裔化学家,1925年度诺贝尔化学奖获得者(1926年颁发),主要研究领域为胶体
  • 海水温差发电海水温差发电法(英语:Ocean Thermal Energy Conversion, OTEC)是一种可再生能源,主要是利用表层海水与深层海水的温度不同来进行发电。海洋温差发电是利用热交换的原理来发电。
  • 马克西姆下水道马克西姆下水道(意大利语:Cloaca Maxima)是古罗马时期罗马的下水道系统。罗马本来就位于湿地地带,马克西姆下水道将罗马的污水排放至台伯河。马克西姆下水道修建于公元前600年时
  • 锹形虫锹形虫(学名:Lucanidae、英语:stag beetle是锹形虫科昆虫的总称,全世界约有1,200种。雄虫通常有夸张美观,角一般的大颚,并非用来咀嚼食物,其用途为对抗天敌与打斗及争夺食物、地盘
  • 木佬语木佬语是木佬人的语言。木佬人如今居住在贵州省东南的麻江、黄平、福泉、都匀、凯里等地,历史上在贵州西部的水城、而大方等地也有分布。人口有3万多(贵州地方政府官方认定为
  • 三一国际大学三一国际大学(Trinity International University,TIU)是位于美国伊利诺伊州迪尔菲尔德的一所私立大学。 下有一个文理学院、一个研究生院、一个神学院和一个法学院。 其中法学
  • -3UTC−03:00时区比协调世界时慢3小时,使用的国家或区域如下:
  • 支持者山脉坐标:85°04′S 169°30′E / 85.067°S 169.500°E / -85.067; 169.500支持者山脉(英语:Supporters Range)是南极洲的山脉,位于杜费克海岸,处于凯尔蒂冰川和米尔斯特里姆冰川之间