面试【JAVA基础】Web与网络
2019-12-19 18:22
1601 查看
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
1、转发与重定向的区别
- 转发是服务器请求资源,服务器直接访问目标地址url,把响应内容返回给浏览器。 重定向根据服务器返回的状态码重新请求地址。
- 转发是服务器行为,重定向是客户端行为。
- 转发显示的url不变而重定向显示新的url。
- 转发页面和转发到的页面共享request的信息,重定向不共享数据。
- 转发一般用于用户登录,根据角色转发到响应的模块, 重定向一般用于用户注销,跳转到其他的地方。
2、TCP三次握手
建立连接时进行TCP三次握手:
- 客户端发送syn给服务端 连接请求。
- 服务端发送syn ack 给客户端 授予连接。
- 客户端发送ack给服务端 确认连接。
第一次客户端确认自己的发送正常,服务端确认自己的接收正常。 第二次服务端确认自己的发送,接收正常,客户端的发送正常。客户端确认自己的发送、接受正常,服务端的发送、接受正常。 第三次客户端服务端都确认双方的发送接收正常。
3、TCP四次挥手
- 客户端发送fin给服务端,关闭客户端到服务端的数据传送。
- 服务端发送ack 。
- 服务端发送fin,关闭服务端和客户端的连接。
- 客户端发送ack,连接关闭。
4、为什么是三次握手四次挥手
建立连接的时候,syn和ack可以同时发送,但是断开连接的时候fin和ack不能同时发送,因为server还未确认是否所有的报文都发送完了,所有的报文发送完了才能发送fin。所以建立连接需要三次握手,断开连接需要四次挥手。
5、TCP与UDP的区别
- TCP协议是有连接的,必须通过三次握手建立连接,UDP是无连接的。
- TCP保证数据按序到达,UDP不能保证。
- TCP是面向字节流的服务,UDP是面向报文的服务。
6、什么是Servlet
是http请求和程序之间的中间层。可以读取客户端请求数据,处理数据并生成结果。
7、拦截器与过滤器的区别
- 拦截器基于java反射实现,过滤器基于函数回调。
- 拦截器不依赖Servlet容器,过滤器依赖Servlet。
实现一个拦截器继承HandlerIntecepterAdapter。 实现过滤器继承Filter,在web.xml中进行配置。
8、HTTPS的过程
- 客户端发起https请求,建立连接,发送所支持的ssl/tls的版本,支持的加密套件等。
- 服务器收到请求后,会发送服务端的证书,选择的ssl/tls的版本,使用的加密套件。
- 客户端收到证书之后对证书进行验证,验证证书是否被篡改,验证证书的有效期。获取服务器的公钥。
- 使用服务器的公钥对一个随机数进行加密,传送给服务器。
- 然后使用这个随机数进行对称加密进行传输数据。
9、加密相关
- 对称加密 加解密使用同一套秘钥,常用的加密算法: AES、 DES。
- 非对称加密 指的是加解密使用不同的密匙,一个公钥一个私钥。公钥加密的信息只有私钥能解开,私钥加密的信息只有公钥能解开。
- 摘要 一段信息,经过摘要算法得到一串hash值。常用的摘要算法:MD5、SHA1、SHA256。
- 数字签名 先用摘要算法,获取内容的摘要,之后使用自己的私钥对摘要进行加密生成签名。
- 数字证书 证书有签发者、证书用途、公钥、加密算法、hash算法、到期时间等。数字证书会做一个数字签名防止证书被篡改。会用CA的私钥进行加密。CA的公钥是公开的,浏览器会缓存。
相关文章推荐
- [Java面试三]JavaWeb基础知识总结.
- Java----面试中将用到的网络基础知识(3)
- JavaWeb框架面试基础问题
- Java----面试中将用到的网络基础知识(2)
- Java----面试中将用到的网络基础知识(4)
- [Java面试三]JavaWeb基础知识总结.
- 面试专栏:算法与数据结构,虚拟机,Java基础,JavaWeb
- Java就业企业面试基础+WEB问题
- 【Java面试系列】网络基础(一)
- java Web开发方向全套培训课件及Java基础自测、面试笔试自测试题
- 超详细的Java面试题总结之JavaWeb基础知识总结,java开发面试笔试题
- java——TCP为基础的web网络服务器模型
- Java面试--网络基础(OSI模型/TCP与UDP/滑动窗口协议)
- 利用Java技术开发Web网络课件浅议-Java基础-Java-编程开发
- JAVA基础--网络编程:获取web数
- java程序员面试基础知识点
- 基础应用:java web三层架构程序实例(组图)
- Java编程--网络编程基础
- 传智播客 Java web基础补充