开发APP时Session在网络应用中称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息,如登录信息等(Session是一个容器,可以存放会话过程中的任何对象)。深圳APP开发公司认为对于Cookie来说,假设要验证用户是否登录,就必须在Cookie中保存用户名和密码,并在每次请求的时候进行验证。而Session是存储在服务器端的,远程用户没办法修改Session文件的内容,因此可以单纯存储一个变量来判断是否登录,首次验证通过后设置变量值为true,以后判断该值是否为true,假如不是则转入登录界面,这样可以减少每次为了验证Cookie而传递密码的不安全性了。
我们要明白开发APP Session IDSessionID是服务器给客户端的一个编号。当一台服务器运行时,可能有若干个用户访问这台服务器上的网站,当每个用户首次与这台服务器建立连接时,就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionID是由服务器随机产生的一个由24个字符组成的字符串。服务器要鉴别Session,至少需要从客户端传来一个SessionID,SessionID通常存于Cookie中,客户端向服务器发送请求时会将用户的SessionID附加在Cookie中。Session的创建和使用总在服务器端,客户端真正拿到的是SessionID。
APP开发关于Session短连接与长连接
短连接,短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一次数据交互。短连接的操作步骤:连接→数据传输→关闭连接。
长连接,长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务器端的连接状态,且在一个连接上可以连续发送多个数据包。在连接保持期间,如果没有数据包发送,需要双方发链路检测包,以维持此连接。长连接的操作步骤:连接→数据传输→保持连接(心跳)→数据传输→保持连接(心跳)→……→关闭连接。在HTTP1.1中默认为保持长连接(PersistentConnection,也称为持久连接),数据传输完成后保持TCP连接不断开,等待在同域名下继续用这个通道传输数据。长连接也可以使用Socket或WebSocket实现。
APP开发关于Session使用场景
1.短连接
短连接用于并发量大,而每个用户无需频繁操作的情况,如Web网站的HTTP服务。因为长连接对于服务器端来说会耗费一定的资源,像Web网站这么频繁的有成千上万甚至上亿客户端的连接,如果用长连接,每个用户都占用一个连接的话,那将极其耗费资源;而用短连接则会省一些资源。
2.长连接
长连接则多用于操作频繁、点对点的通信,如PUSH和IM等功能。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是短连接,再次操作的话还需重新建立连接,那么PUSH或IM功能的响应速度会降低很多,所以每个操作完成后都不断开,下次处理时直接发送数据包就OK了,不用建立TCP连接。好了,APP开发公司本文关于“开发APP关于Session的功能介绍与应用”知识就分享到这里,谢谢关注,博纳网络编辑整理。