1、tcp和udp区别
    tcp是一对一的网络传输,具有网络传输可靠性,面向字节流,适用于可靠传输应用,例如文件传输。
    udp可以一对多,数据传输不可靠,就是不管接收方是否在线,收到没有,直接传输。适用于直播。视频会议等。
    2、三次握手和四次挥手
    三次握手
    1、客户端向服务端发送请求,确保客户端和服务端连接相同
    2、服务端回信,确保服务端和客户端相同,两边都通
    3、客户端向服务端再次发送请求,建立连接
    四次挥手
    1、客户端向服务端发送请求,可以结束了
    2、服务端向客户端发送请求,好的我准备好了
    3、客户端向服务端发送报文,请结束
    4、服务端接收请求立即结束,客户端经过一段时间随后结束
    3、为什么需要三次握手,断开连接为什么需要四次
    三次握手是因为,如果第二次握手时,报文丢失,那么客户端就永远不知道服务端好了,防止丢包的问题。
    四次挥手比三次握手多一次是因为,要确保数据发完,客户端不知道服务端还有没数据,所以多了一次确认的环节。并且为了防止丢包,会等待一些时间才断开连接。
    4、http和HTTPS的区别
    首先http是运行在tcp协议上面的,而https协议是运行在ssl协议上,而SSL协议运行在TCP协议上,
    HTTP是明文传输,无法验证身份。HTTPS是加密输出,采用RSA加密协议,所以更加安全,消耗的资源也更多。并且是需要证书的。
    5、get和post的区别
    get请求和post请求都是http请求,但是get请求是明文传输,并且携带数据很小只有2KB,
    get请求只会发起一次请求将请求头和数据一起发出去,
    post存放数据在请求体,会发起两次请求,第一次携带头信息,第二次携带数据,所以post请求更加安全。但是get请求的优点是执行效率更快。
    6、什么是对称加密,什么是非对称加密
    对称加密就是用同一个密钥进行加密,但是他存在的问题就是如何传递密钥。
    非对称加密就是使用对方的公钥加密,公钥可以随意发布,对方用自己的私钥解密。就保证了数据安全,但是这种加密方式非常慢。
    7、什么是HTTP2
    浏览器会限制一个域名下的请求,谷歌浏览器是最大6个。HTTP2引用了多路复用技术,在一个tcp连接中访问资源。
    8、cookie和session和token的区别
    cookie存于客户端,数据不安全,且一个cookie最大为4k,并且一个站点最多可以存20个,数据存储有限制。
    session存于服务端,他的存储大小和服务器的内存有关系,所以数据安全,并且大小不受限制。但是请求多了之后会影响应用的性能。
    9、什么是token
    token是服务器生成的一个随机字符串,返回给前端,他相当于一个令牌,使前端在登陆后不用携带用户名和密码,减轻服务器的一个压力。
    10、servlet的生命周期
    初始化—>调用doget,dopost—>销毁
    11、客户端禁用cookie,session还有用吗
    不能使用了,因为客户端通过cookie携带sessionid判断是哪个请求,但是可以通过手动隐藏携带sessionid。
    12、session的实现原理
    session是通过cookie每次携带sessionid,来进行判断哪个浏览器,从服务器分配内存拿对应资源。