作者回复: 是的
作者回复: 每个http服务器都有相关配置的
作者回复: RFC规范中并没有包含客户端上传文件。这个模块定义了一种新的协议,专用于分片上传文件,它使用的HTTP头部是X-Content-Range,可以看出吸收了RFC规范的理念,但明显不是同一种协议,这里是该协议的详细定义:https://github.com/fdintino/nginx-upload-module/blob/master/upload-protocol.md
作者回复: 是的。比如,我买了taohui.tech,那么所有的二级、三级、四级域名都是由我自行、免费配置的,比如a.b.c.taohui.tech
作者回复: 信息太少,还无法判断。 1、中断哪方发起的?比如是RST包吗?服务器发起的吗? 2、server上和client上都抓下包,对比下http request的内容,看看是否一致。 client上我用wireshark抓包,你先看下第37课。server上我一般用 tcpdump抓包,你看下第87课。
作者回复: 你好安民,accept-ranges:bytes只是告诉客户端,服务器是支持Range请求的。只有客户端发请求的时候,仅要求服务器传输一部分内容时,才会有206返回码,如果请求就没使用Range,自然是200。视频编码这块我不熟。
作者回复: HTTP
作者回复: 简单来说,大文件适合用多线程下载。注意不同的服务器限速策略不同,通常服务器是按连接来限速的,多线程意味着多个连接,总速度自然会有提高。但网速的限制点太多,比如路由器、负载均衡的限速策略等
作者回复: Range头部格式不对,你可以换成bytes=1-5,或者bytes=1-,具体格式你可以再看下视频2分40秒
作者回复: 通常没有,这与业务逻辑关联太紧密了,你是要下载一个文件吗?文件有多大?如果很大,肯定要持久化到磁盘上,那么磁盘的位置就是个问题,磁盘够不够放得下? 另一个原因是,组合其实就是拼接,你记录下每个response body的位置,而从response中取body非常容易,拼接下就可以了