网络常见面试题(二)

1HTTP有哪八种请求类型?

  • GET
  • POST
  • PUT
  • DELETE
  • Options
  • HEAD
  • TRACE
  • CONNECT

其中,GET和POST是最基本的,其他方式都是通过这两种请求间接实现的。

2session什么时候被创建?

一个常见的错误是以为session在有客户端访问时就被创建,然而事实是直到某server端程序(如Servlet)调用HttpServletRequest.getSession(true)这样的语句时才会被创建。


3session何时被删除?

  • 程序调用HttpSession.invalidate()
  • 距离上一次收到客户端发送的session id时间间隔超过了session的最大有效时间
  • 服务器进程被停止


再次注意,关闭浏览器只会使存储在客户端浏览器内存中的session cookie失效,不会使服务器端的session对象失效。


4、运输层协议与网络层协议的区别?

网络层协议负责的是提供主机间的逻辑通信

运输层协议负责的是提供进程间的逻辑通信


5http 响应码 301 302 代表的是什么?有什么区别?

301:永久重定向。

302:暂时重定向。

它们的区别是,301 对搜索引擎优化(SEO)更加有利;302 有被提示为网络拦截的风险。


6tcp 为什么要三次握手,两次不行吗?为什么?

为了节省服务器资源。


详解:如果采用两次握手,那么只要服务器发出确认数据包就会建立连接,但由于客户端此时并未响应服务器端的请求,那此时服务器端就会一直在等待客户端,这样服务器端就白白浪费了一定的资源。

若采用三次握手,服务器端没有收到来自客户端的再此确认,则就会知道客户端并没有要求建立请求,就不会浪费服务器的资源。


7forward(转发) redirect(重定向) 的区别?

地址栏URL显示:foward URL不会发生改变,redirect URL会发生改变;

数据共享:forward 可以共享 request 里的数据,redirect 不能共享;

效率:forward 比 redirect 效率高。


8、说一下 tcp 粘包是怎么产生的?

tcp 粘包可能发生在发送端或者接收端,分别来看两端产生粘包的原因:

发送端粘包:发送端需要等"发送缓冲区"满才发送出去,造成粘包;

接收方粘包:接收方不及时取"接收缓冲区"的包,造成多个包接收。


9HTTP 502503的区别?

从网络角度,502已经与后端建立了连接,但超时;503与后端连接未建立,超时。


10ARP协议用来干嘛?

实现IP地址和MAC地址的转换。


#面试题目#
全部评论
怎么解决黏包 首部添加特殊字节 或 首部添加数据部分长度
点赞 回复
分享
发布于 2021-03-18 19:55

相关推荐

5 27 评论
分享
牛客网
牛客企业服务