网络基础

本文详细介绍了网络协议栈的四个层级,包括链路层、网络层(IP协议)、运输层(TCP/UDP)和应用层。重点讲解了IP协议、TCP协议、Socket协议以及HTTP协议的工作原理和特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、一个通讯协议栈

通讯协议栈一般分为四层,自下而上分别分为:链路层,网络层(IP协议),运输层(TCP/UDP)和应用层


2、IP协议

IP协议主要规定数据传输的基本单元,格式,数据包的递交办法与协议,但其定义的传输是单向的,无法保证传输过程的完整性,因此在ip协议之上又发展出TCP协议;


3、TCP协议

TCP协议提供了一种面向连接,保证高可靠性(数据无丢失,失序,错误,重复)的一种传输协议,即在TCP模式的传输中,A发送一个数据包给B,B如果收到会回复一个数据包给A,通过这种方式提供可靠性;

TCP首部有6个标志bit,分别为SYN(同步序号用来发起一个连接), ACK(确认序号有效),RST(一般表示断开一个连接);

发起连接需要经过三次握手:客户端发起连接请求,服务端接受并发送确认信息给客户端,客户端收到确认信息再发送确认包给服务器。

断开连接需要四次通信:客户端发起断开请求,服务端收到请求会立即发送确认信息给客户端,再服务器正式关闭socket连接之后,会再向客服端发送一个断开请求,客户端收到服务端的断开请求之后会发送确认信息给服务端,连接正式断开。


4、Socket协议:

socket支持不同的传输层协议(TCP/UDP),这里只讲TCP,socket是网络端点的抽象表示,包含网络通信必须的5中信息:连接使用的协议,本地主机地址,本地进程端口,远程主机地址和远程主机进程的协议端口;

当使用TCP协议进行连接时,Socket就是一个TCP连接,其严格来讲不是一种新的协议,而只是一个调用接口,其只是实现了对TCP/IP协议的封装,使我们能够更方便的调用协议栈;

因为通常请款下Socket连接就是一种TCP连接,所以一旦连接建立,连接双方就可以相互发送数据,但是在实际网络应用中,客户端和服务端之间的连接需要通过很多中间节点,如路由器,网关,防火墙等,而大部分防火墙会默认关闭长时间处于非活跃状态的连接,所以通过轮询告诉网络,该连接处于活跃状态,这也是很多长连接中使用心跳包以保持连接状态的原因。


5、Http协议:

Http协议基于TCP协议,处于协议栈的应用层,其提供了封装和显示数据的具体形式。

Http协议采用“请求-响应模式”,必须是客户端向服务器发出一次请求,服务端才能回复数据,服务器不能向客服端主动推送数据,这是其与socket的区别之一

Http协议采用短连接的模式,一个请求-响应结束后会主动释放连接,Http1.1之后再一次请求-响应之后会连接会保持一定的时间以等待新的请求-响应,如果在等待期间没有,连接也会被释放。


参考文章:http://blog.youkuaiyun.com/zeng622peng/article/details/5546384




资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在 IT 领域,文档格式转换是常见需求,尤其在处理多种文件类型时。本文将聚焦于利用 Java 技术栈,尤其是 Apache POI 和 iTextPDF 库,实现 doc、xls(涵盖 Excel 2003 及 Excel 2007+)以及 txt、图片等格式文件向 PDF 的转换,并实现在线浏览功能。 先从 Apache POI 说起,它是一个强大的 Java 库,专注于处理 Microsoft Office 格式文件,比如 doc 和 xls。Apache POI 提供了 HSSF 和 XSSF 两个 API,其中 HSSF 用于读写老版本的 BIFF8 格式(Excel 97-2003),XSSF 则针对新的 XML 格式(Excel 2007+)。这两个 API 均具备读取和写入工作表、单元格、公式、样式等功能。读取 Excel 文件时,可通过创建 HSSFWorkbook 或 XSSFWorkbook 对象来打开相应格式的文件,进而遍历工作簿中的每个 Sheet,获取行和列数据。写入 Excel 文件时,创建新的 Workbook 对象,添加 Sheet、Row 和 Cell,即可构建新 Excel 文件。 再看 iTextPDF,它是一个用于生成和修改 PDF 文档的 Java 库,拥有丰富的 API。创建 PDF 文档时,借助 Document 对象,可定义页面尺寸、边距等属性来定制 PDF 外观。添加内容方面,可使用 Paragraph、List、Table 等元素将文本、列表和表格加入 PDF,图片可通过 Image 类加载插入。iTextPDF 支持多种字体和样式,可设置文本颜色、大小、样式等。此外,iTextPDF 的 TextRenderer 类能将 HTML、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值