java中TCP如何可靠传输?常见的状态码有哪些?

BSO 2020-11-24 14:56:07 java常见问答 8039

java是一门非常精深的编程语言,这也就意味着我们需要花费大量的时间和精力去学习它。关于它的知识点也是非常的复杂的。今天就来为大家介绍一下关于TCP如何可靠传输的内容,一起来了解一下吧。

首先说一下,TCP如何保证可靠传输?

具体做法如下:

1. 三次握手。

2. 将数据截断为合理的长度。应用数据被分割成TCP认为最适合发送的数据块(按字节编号,合理分片)

3. 超时重发。当TCP发出一个段后,它启动一个定时器,如果不能及时收到一个确认就重发

4. 确认应答:对于收到的请求,给出确认响应

5. 校验和:校验出包有错,丢弃报文段,不给出响应

6. 序列号:对失序数据进行重新排序,然后才交给应用层

7. 丢弃重复数据:对于重复数据 , 能够丢弃重复数据

8. 流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。

9. 拥塞控制。当网络拥塞时,减少数据的发送。

其实也就是:

校验和

序列号

确认应答

超时重传

连接管理

流量控制

拥塞控制

然后再来了解一下,常见的状态码有哪些?

1.200 OK//客户端请求成功403 Forbidden//服务器收到请求,但是拒绝提供服务

2.404 Not Found//请求资源不存在,eg:输入了错误的URL

3.500 Internal Server Error//服务器发生不可预期的错误URI和URL的区别URI,统一资源标识符,用来唯一的标识一个资源。URL可以用来标识一个资源,而且还指明了如何定位这个资源。

总的来说,具体的知识还是很简单易懂的。具体的做法也已经为大家写出来了。大家如果遇到了相关问题可以尝试着去解决一下。如果你想要了解更多java常见问题,敬请关注奇Q工具网。

推荐阅读:

网络传输过程是怎样的?网络数据传输的过程图解

java中TCP与UDP区别是什么?GET与POST有何区别?

java中TCP和UDP的含义是什么?两者的区别是什么?