java web面试题

1. sessioncookie的区别和联系,session的生命周期,多个服务部署时session管理。

答:

cookie 和session 的联系:

session是通过cookie来工作的

session和cookie之间是通过$_COOKIE['PHPSESSID']来联系的,通过$_COOKIE['PHPSESSID']可以知道session的id,从而获取到其他的信息。

在购物网站中通常将用户加入购物车的商品联通session_id记录到数据库中,当用户再次访问是,通过sessionid就可以查找到用户上次加入购物车的商品。因为sessionid是唯一的,记录到数据库中就可以根据这个查找了。

生命周期:

 Session存储在服务器端,一般为了防止在服务器的内存中(为了高速存取),Sessinon在用户访问第一次访问服务器时创建,需要注意只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMAGE等静态资源并不会创建Session,可调用request.getSession(true)强制生成Session。

 

Session什么时候失效?

  1. 服务器会把长时间没有活动的Session从服务器内存中清除,此时Session便失效。Tomcat中Session的默认失效时间为20分钟。

  2. 调用Session的invalidate方法。

多个服务部署时session管理

三种方式:

1. Session复制,Web服务器之间同步session信息。

2. 负载均衡支持会话亲和,相同的会话请求发送给同一个Web服务器。

3. Session不存在Web服务器本地,而是放在缓存服务器如Redis上。

 

2.  https和http区别

1https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3httphttps使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443

4http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

java web面试题