网络篇

TCP建立连接的过程?

TCP建立连接需要3次握手
1,客户端发送带有SYN标志的TCP报文到服务端
2,服务端回复带有SYN和ACK标志的报文到客户端
3,客户端发送带有ACK标志的报文到服务端
3次握手之后,就能确保 服务端可以接受到客户端的消息,客户端也能接受到服务端的消息。
2次握手的话,不能确保客户端能接受到服务端的消息
4次握手的话有点浪费

TCP断开连接的过程?

TCP断开连接需要4次握手
1,客户端发送带有FIN标志的报文到服务端,关闭数据传输
2,服务端回复带有ACK标志的报文到客户端
3,客户端再发送FIN到服务端,关闭连接
4,服务端回复ACK报文确认连接关闭
因为TCP是全双工网络协议,并且支持双方同时收发数据,支持双方独立关闭连接,是所以需要2次交互来关闭数据传输,2次交互来完成连接关闭,所以需要4次握手。

get 和 post 有什么区别?

1,get通过url提交数据,post是将数据放置于html header内提交
2,get数据最多1024字节,post无限制
3,get的数据url中可见,安全性低,post的安全性高一些
4,get请求不会修改数据,是具有幂等性的,但是post会改变数据,实现的时候需要考虑兼容幂等性

cookie 和 session 有什么区别?

1,cookie是保存在客户端的,session是保存在服务端的
2,浏览器将客户端cookie文件连同每次请求一次发给服务端,session没有在http协议中定义
3,session存在服务端,由sessionID区分用户,客户请求的时候将sessionID传给服务端
4,session安全性比cookie高,因为数据存在服务端,不会被客户端篡改。

你可能感兴趣的:(网络篇)