1.session和cookie区别和联系
具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。两者存储的都是用户登录信息,操作行为等等的数据。
- cookie是把用户的数据写在用户本地浏览器上, 其他网站也可以扫描使用你的cookie,容易泄露自己网站用户的隐私,而且一般浏览器对单个网站站点有cookie数量与大小的限制。
- Session是把用户的数据写在用户的独占session上,存储在服务器上,一般只将session的id存储在cookie中。但将数据存储在服务器对服务器的成本会高。
- session是由服务器创建的,开发人员可以在服务器上通过request对象的getsession方法得到session
- 一般情况,登录信息等重要信息存储在session中,其他信息存储在cookie中
2.session的实现原理
服务器会为每一个访问服务器的用户创建一个session对象,并且把session对象的id保存在本地cookie上,只要用户再次访问服务器时,带着session的id,服务器就会匹配用户在服务器上的session,根据session中的数据,还原用户上次的浏览状态或提供其他人性化服务。
3.浏览器禁用cookie后如何实现session
如果客户端浏览器将Cookie功能禁用,或者不支持Cookie怎么办?例如,绝大多数的手机浏览器都不支持Cookie。Java Web提供了另一种解决方案:URL地址重写。
4.URL地址重写
URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程。举个例子来说,如果通过浏览器进来的URL是“UserProfile.aspx?ID=1”那么它可以被重写成 “UserProfile/1.aspx”,这样的URL,这样的网址可以更好的被网站所阅读。
5.如何通过URL地址重写实现session的id传输
URL地址重写的原理是将该用户Session的id信息重写到URL地址中。服务器能够解析重写后的URL获取Session的id。这样即使客户端不支持Cookie,也可以使用Session来记录用户状态。
HttpServletResponse类提供了encodeURL(String url)实现URL地址重写,该方法会自动判断客户端是否支持Cookie。如果客户端支持Cookie,会将URL原封不动地输出来。如果客户端不支持Cookie,则会将用户Session的id重写到URL中。
6.了解 TCP/IP、HTTP、HTTPS、HTTP2.0
https://www.cnblogs.com/w1570631036/p/8119747.html
7.TCP协议的三次握手和四次挥手
http://uule.iteye.com/blog/2213562
8.解析http 协议六种请求方法
- get:发送一个请求来取得服务器上的某一资源,GET请求中,永远不会包含呈现数据。
- head:HEAD和GET本质是一样的,区别在于HEAD不含有呈现数据,而仅仅是HTTP头信息。
- put:本质上来讲, PUT和POST极为相似,都是向服务器发送数据,但它们之间有一个重要区
- 别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器自
己决定。
- post:向服务器提交数据。
- delete:删除某一个资源。基本上这个也很少见,不过还是有一些地方比如amazon的S3云服务里面就用的这个方法来删除资源。
- options:这个方法很有趣,但极少使用。它用于获取当前URL所支持的方法。若请求成功,则它会在HTTP头中包含一个名为“Allow”的头,值是所支持的方法,如“GET, POST”。