java面试题答案——网络

网络

79. HTTP 响应码 301 和 302 代表的是什么?有什么区别?

80. forward 和 redirect 的区别?

81. 简述 TCP 和 UDP 的区别?

    参考:https://blog.csdn.net/weixin_43748216/article/details/89174582
    
82. TCP 为什么要三次握手,两次不行吗?为什么?
    首先,解释一下全双工,半双工,单工的概念。
    全双工:客户端A可以给服务端B发送消息,服务端也可以给客户端发送消息,客户端给服务器发送消息的同时服务端也可以给客户端发送消息。
    半双工:客户端A可以给服务端B发送消息,服务端也可以给客户端发送消息,但是A给B发送的同时,B不能给A发送消息,即不能同时。
    单工:A可以给B发送消息,B不可以给A发送,或者B可以给A发送消息,A不可以给B发送。
    TCP是全双工的,发送一次信息即一次握手。
    ●第一次握手:A给B发送消息,你能收到我的消息吗(SYN)
    ●第二次握手:B收到了A的消息(ACK),然后给A发送消息,那你能收到我的消息吗(SYN)
    ●第三次握手:A收到了B的消息(ACK),然后给B说可以的,我们可以开始通讯了。
    
    三次握手后,就可以保证A能收到B的消息,B也可以收到A的消息,这样可以开始通讯了。
    
    HTTP是基于TCP协议的,客户端请求,服务器应答,但是TCP还可以给其他应用层提供服务,所以A,B建立连接后,双方都可以先开始通信。
    
    若只有两次握手,假若B先开始通信,就不能保证B发送给A的消息,A一定收到消息。
    
    若四次握手,就造成了浪费,因为在第三次握手之后,就能确保双方发送的消息对方都可以收到。

    可参考:https://www.cnblogs.com/zhuzhenwei918/p/7465467.html

83. 说一下 TCP 粘包是怎么产生的?

    TCP是面向流的,会出现粘包现象,UDP具有保护消息边界,不会有粘包现象。
    参考:https://www.cnblogs.com/kex1n/p/6502002.html

84. OSI 的七层模型都有哪些?

85. Get和 Post 请求有哪些区别?
    
    https://blog.csdn.net/weixin_43748216/article/details/90401527

    https://www.cnblogs.com/logsharing/p/8448446.html
    https://blog.csdn.net/qq_28483283/article/details/80207674

86. 如何实现跨域?

87. 说一下 JSONP 实现原理?

--------------------------------------------------------------

你可能感兴趣的:(面试)