本文共 955 字,大约阅读时间需要 3 分钟。
11.怎么保持长连接
一个连接是通过服务器地址和端口还有客户端地址和端口来识别唯一连接的。Connection:keep-alive (1)在应用层使用heartbeat来主动检测,在应用层制定协议,发心跳包,客户端和服务端制定一个通讯协议,每隔一定时间(一般15秒左右),由一方发起,向对方发送协议包;对方收到这个包后,按指定好的通讯协议回一个。若没收到回复,则判断网络出现问题,服务器可及时的断开连接,客户端也可以及时重连。 (2)通过TCP协议层发送KeepAlive包。这个方法只需设置好你使用的TCP的KeepAlive项就好,其他的操作系统会帮你完成。操作系统会按时发送KeepAlive包,一发现网络异常,马上断开。在应用层不需自己定协议,通信的两端,只要有一端设好这个值。还有一个好处就是节省网络资源。7.http与https的区别
(1)HTTPS是HTTP的安全版,是HTTP+SSL,HTTP协议以明文方式发送内容,不提供任何方式的数据加密; (2)https协议需要到ca申请证书,一般免费证书很少,需要交费。http是免费的; (3)http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443; (4)http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。3.问了浏览器如何实现的免登陆之类的功能,进而问了cookie和session相关的知识。
(1) 很多人说利用cookie保存加密后的密码和用户ID,当再次访问网站时服务器提取cookie的用户ID和密码,如果通过验证,则不需要重新输入账号和密码。 (2)1、在用户登录成功时,创建session对象,保存用户信息 2、将此session的sessionid保存到cookie中 3、同时将sessionid于session对应关系存储到应用域中,以便后面可以根据sessionid来获取到session 4、在用户关闭浏览器,重新打开浏览器访问网站时,读取用户的cookie,得到sessionid 5、根据sessionid获取到第3步存储到应用域中的session对象 6、从session中读取用户信息转载地址:http://ayqs.baihongyu.com/