【Go 夜读】第 10 期 2018-06-28 线下活动

yangwen13 · · 318 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

>文章来自于:https://reading.developerlearning.cn/reading/10-2018-06-28-net-http-part4/ ## 观看视频 https://youtu.be/xodlVBWxTYM ### Go 标准包阅读 - Go版本:`go 1.10.2` ### net包 - http/server.go - http/request.go - textproto/reader.go ### 读取位置 - textproto/reader.go(`140行`) ### 问题 > **1.各个系统的回车换行符区别** ![](https://reading.developerlearning.cn/images/20180628-1.jpeg) - 注意:`10.13及其以上是macOS系统` > **2.URI,URL和URN的区别** - [查看详情](http://www.cnblogs.com/hust-ghtao/p/4724885.html) > **3.HTTP CONNECT方法介绍** **会议讨论小结** ``` 可以建立一个代理服务器到目标服务器的透明通道(tcp连接通道),中间完全不会对数据做任何处理,直接转发(支持https,一种翻墙的手段,专线独享) ``` - [HTTP代理协议 HTTP/1.1的CONNECT方法](https://www.web-tinker.com/article/20055.html) > **4.peek读取字节内部实现** ![](https://reading.developerlearning.cn/images/20180628-4.jpeg) - 这里先peek获取流数据(注意:`这里没有对Peek的错误进行处理,而是根据是否Buffered读取到数据来判断错误`) - 为什么没有对Peek的错误进行处理呢?`主要是因Peek失败了也有可能不会返回错误` ``` golang读取字节表现形式是阻塞式的,但其实底层是用了非阻塞式的NIO,如果没有读取到数据会定时轮询读取 ``` > **5.http header尾部的符号什么情况下会存在\n\n的情况?(`待解决,欢迎在下面评论`)** 看源码发现hearder结尾会存在`\r\n\r\n`和`\n\n`两种字符情况 ![](https://reading.developerlearning.cn/images/20180628-2.jpeg) 网络上查资料发现只会存在`\r\n\r\n` ![](https://reading.developerlearning.cn/images/20180628-3.jpeg) ### 相关链接 - [uri和url的详细规范](https://tools.ietf.org/html/rfc3986) - [扒一扒HTTP的构成](http://mrpeak.cn/blog/http-constitution/)

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

318 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传