要知道jar包首先要知道什么是socket
可以去参考一下这篇博客Socket解析机制
socket把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。任何通信的底层都涉及到socket
jar包:
java本身不自带上传下载功能 因为java本身可以依靠socket实现封装任何功能,用socket传送数据,第三方开发人员觉得麻烦于是写了jar包 ,所以jar包底层就是基于socket实现的
那为什么java可以上传下载文件呢?文件的本质是编码,换成变量的话是基本类型数组,本质上就是用socket传输这些基本类型数据
但通信 传输涉及到http协议 http协议底层也是用socket写的 jar包更准确来说解析的是http协议(http协议是基于TCP(上一层协议)协议写的)但无论是TCP协议还是HTTP协议 都是基于socket实现的
虽然jar包是用socket实现的 ,但socket只是工具,jar包并不负责socket接收,jar包更准确的来说是解析的http协议 ,在前后端交换中,tomcat通过socket拿到数据 ,数据基于http协议,socket传输的原始数据交给了request对象,jar包然后去request里拿数据,大概就是这么个流程。