网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
2.4 TCP
1.TCP为HTTP提供了一条可靠的比特传输管道。从TCP一端填入的字节会从另一端以原有的顺序、正确的传送出来,TCP提供了:
- 无差错的数据传输
- 按序传输 - 数据总是按照发送的顺序到达
- 未分段的数据流 - 可以在任何时刻以任意尺寸将数据发送出去
2.HTTP要传送一条报文时,会以流的形式将报文数据的内容通过一条打开的TCP连接按序传输,TCP收到数据流后,会将数据流砍成被称作段的小数据块,并将段封装在IP分组中,通过因特网传输。所有这些工作都是由TCP/IP软件完成的,HTTP程序员什么也看不见
3.只要建立了TCP连接,客户端与服务器之间的报文交换就不会丢失,不会被破坏,也不会在接收时出现错序了。
三.Form表单
<form method="post" name="excel_upload" action="upload.do" enctype="multipart/form-data">
<input type="file" name="fileName" accept=".xls,.xlsx" multiple="multiple">
</form>
-
method必须为post,值不是放在URL后面传到服务器中的
-
对于“multipart/form-data”类型的form表单,浏览器上传的实体内 容中的每个表单字段元素的数据之间用字段分隔界线进行分割,两个分隔界线间的内容称为一个分区,每个分区中的内容可以被看作两部分,一部分是对表单字段元 素进行描述的描述头,另外一部是表单字段元素的主体内容
-
accept=".xls, .xlsx"限制了上传文件为Excel
-
multiple="multiple"说明可以同时上传多个文件
四.请求报文
4.1 如果选择2个Excel文件:测试.xlsx和测试1.xlsx
4.2 请求报文
4.3 实体
为了显示观看,故意换行显示,其实是没有的
- 首部中Content-Type定义了分隔符boundary,以4个破折号开头
- 实体中分隔符 = “\r\n–” + 首部中分隔符boundary
- 实体首部Content_Disposition中定义了filename表示上传文件名(name=“fileName”表示input域属性),由于这里是一个input框中上传两个Excel文件,所以这里的2个实体首部中的Content_Disposition的name属性都为fileName
- 实体首部Content-Type描述了上传文件的类型,这里表示Sheet工作表,即Excel
- 实体首部中多行是以CRLF分隔的,即\r\n
- 实体中可能存在多部分,每一部分之间以分隔符boundary分隔,每个部分的实体首部与主体之间以CRLFCRLF分隔,即\r\n\r\n
- 符号 - 标志 - 十六进制 - 字节码 , 回车: \r - CR - 0d - 13, 换行:\n - LF - oa - 10
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**