博客
关于我
校招面试题4------乐视/滴滴/华为
阅读量:223 次
发布时间:2019-02-28

本文共 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/

你可能感兴趣的文章
mysql 敲错命令 想取消怎么办?
查看>>
Mysql 整形列的字节与存储范围
查看>>
mysql 断电数据损坏,无法启动
查看>>
MySQL 日期时间类型的选择
查看>>
Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
查看>>
MySQL 是如何加锁的?
查看>>
MySQL 是怎样运行的 - InnoDB数据页结构
查看>>
mysql 更新子表_mysql 在update中实现子查询的方式
查看>>
MySQL 有什么优点?
查看>>
mysql 权限整理记录
查看>>
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>
MySQL 查看有哪些表
查看>>
mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
查看>>
MySql 查询以逗号分隔的字符串的方法(正则)
查看>>
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>