马上就要到金三银四佳季了,是找工作的好时候,小伙伴们一定要把握好时机,找到心仪的高薪工作。找工作就少不了面试,那我们从现在开始,多刷刷面试题,查缺补漏!!!
目录
⭐TCP 与 UDP 区别?
⭐什么是HTTP协议?
⭐TCP的三次握手
⭐HTTP中重定向和请求转发的区别?
⭐Get和Post的区别?
⭐cookie和session的区别?
⭐TCP 与 UDP 区别?
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的、可靠的、 基于IP的传输层协议。
UDP是User Datagram Protocol的简称,中文名是用户数据报协议,是OSI参考模型中的传输层协议,它是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
TCP和UDP都是来自于传输层的协议。传输层位于应用层和网络层之间,负责位于不同主机中进程之间的通信。
1.TCP基于连接UDP无连接
2.TCP要求系统资源较多,UDP较少
3.TCP保证数据正确性,UDP可能丢包
4.TCP保证数据顺序,UDP不保证
⭐什么是HTTP协议?
客户端和服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”。
是一个基于请求与响应模式的、无状态的、应用层的协议,基于 TCP 的连接方式
⭐TCP的三次握手
为什么要三次握手?
三次握手的目的是建立可靠的通信信道,说到通讯,简单来说就是数据的发送与接收,而三次握手最主要的目的就是 双方确认自己与对方的发送与接收是正常的。
SYN:同步序列编号(Synchronize Sequence Numbers)。是TCP/IP建立连接时使用的握手信号。
第一次握手:客户端给服务器发送一个SYN。客户端发送网络包,服务端收到了。服务器得出结论:客户端的发送能力,服务端的接收能力正常。
第二次握手:服务端收到SYN报文之后,会应答一个SYN+ACK报文。服务端发包,客户端收到了。客户端得出结论:服务端的接收和发送能力,客户端的接收和发送能力正常。但是此时服务端不能确认客户端的接收能力是否正常。
第三次握手;客户端收到SYN+ACK报文之后,回应一个ACK报文。客户端发包,服务端收到了。服务器得出结论:客户端的接收和发送能力,自己的接收发送能力都正常。
通过三次握手,双方都确认对方的接收以及发送能力正常。
⭐HTTP中重定向和请求转发的区别?
实现
转发:用request的getRequestDispatcher()方法得到ReuqestDispatcher对象,调用forward()方法request.getRequestDispatcher("other.jsp").forward(request, response);
重定向:调用response的sendRedirect()方法
response.sendRedirect("other.jsp");
1> 重定向2次请求,请求转发1次请求
2> 重定向地址栏会变,请求转发地址栏不变
3> 重定向是浏览器跳转,请求转发是服务器跳转
4> 重定向可以跳转到任意网址,请求转发只能跳转当前项目
⭐Get和Post的区别?
1. Get是不安全的,因为在传输过程,数据被放在请求的URL中;Post的所有操作对用户来说都是不可见的。
2. Get传送的数据量较小,一般传输数据大小不超过2k-4k(根据浏览器不同,限制不一样,但相差不大这主要是因为受URL长度限制;Post传送的数据量较大,一般被默认为不受限制。
3. Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。
4. Get执行效率却比Post方法好。Get是form提交的默认方法。
⭐cookie和session的区别?
1.存储位置不同
cookie的数据信息存放在客户端浏览器上。
session的数据信息存放在服务器上。
2.存储容量不同
单个cookie保存的数据<=4KB,一个站点最多保存20个Cookie。
对于session来说并没有上限,但出于对服务器端的性能考虑,session内不要存放过多的东 西,并且设置session删除机制。
3.存储方式不同
cookie中只能保管ASCII字符串,并需要通过编码方式存储为Unicode字符或者二进制数据。
session中能够存储任何类型的数据,包括且不限于string,integer,list,map等。
4.隐私策略不同
cookie对客户端是可见的,别有用心的人可以分析存放在本地的cookie并进行cookie欺骗,所以它是不安全的。
session存储在服务器上,不存在敏感信息泄漏的风险。
5. 有效期上不同
开发可以通过设置cookie的属性,达到使cookie长期有效的效果。
session依赖于名为JSESSIONID的cookie,而cookie JSESSIONID的过期时间默认为-1,只需关闭窗口该session就会失效,因而session不能达到长期有效的效果。
6.服务器压力不同
cookie保管在客户端,不占用服务器资源。对于并发用户十分多的网站,cookie是很好的选择。
session是保管在服务器端的,每个用户都会产生一个session。假如并发访问的用户十分多,会产生十分多的session,耗费大量的内存。