•        鸟人
    2019-06-08
    我发现上传图片 文件之类 基本都是multipart/form-data 那么可以用application/x-www-form-urlencoded 上传图片文件么?为什么?

    作者回复: 理论上可以,但实际上没有可行性,因为没有必要做URL编码(URL编码请参照第11课),URL编码效率很低,空间大消耗带宽也大CPU消耗也大

     2
     3
  • WL
    2019-06-01
    老师再问一下问什么服务器中间件把表单内容直接映射到数据库中时, 了解表单提交时的包体格式对于解决安全问题有帮助, 有什么帮助, 这一点我好像没太理解.

    作者回复: 简单来说,有些实现不当的代理服务器,希望获取表单内容,但没有正确的解析出表单

    
     2
  • airmy丶
    2019-10-11
    请问老师,这些演示页面我们是访问不了吗?

    作者回复: 我的NGINX配置改了下,现在这个URL可以访问了,你再试下

    
     1
  • will
    2019-06-15
    老师,使用webuploader上传图片,有个别图片不完整,一般是哪些原因导致的?
    
     1
  • Aaaaaaaaaaayou
    2019-12-10
    如果上传很大的文件会把文件一次性全读取出来上传吗,还是边读边传,如果是边读边传,那具体是怎么工作的呢?

    作者回复: 要看具体的编程语言了。
    1、HTML表单是一个协议规范,各种语言都可以使用。自由度很大的语言里,你可以选择边读边传,具体做法的原因,基于你读取文件时,可以设置offset偏移量。比如1个100M的文件,第1次0-2M,第2次读2-4M,以此类推。
    2、如Linux操作系统,还可以通过sendfile方法,由操作系统帮你完成这一操作。具体做法是,把 tcp连接socket,以及open file后的句柄都传给sendfile,即可。
    3、如果你是用自由度很低的语言,例如js,这受制于浏览器的策略(防止恶意js脚本读取本地文件),你可以参考较新的版本,例如HTML5来操作。

    
    
  • 我在你的视线里
    2019-08-12
    如何分析报文呢?那是16进制的数据表示什么呢?

    作者回复: 实际传输的是二进制,以16进制显示时,主要用于分析报文头部,例如websocket帧就必须分析16进制格式及2进制格式(43课),而http2的帧格式也需要,例如hpack头部压缩格式(57-60课),第5、6部分课程必须全程分析16进制报文头部

    
    
  • WL
    2019-06-01
    老师再请教一下, boundary的值是浏览器自动指定的吗?

    作者回复: 对

    
    
  • WL
    2019-06-01
    老师请问一下, 表单提交的Content-type只有 application/x-www-form-urlencoded和multipart/form-data这两种形式吗? 如果请求头的Content-Type: application/json;charset=UTF-8, 这样以json方式传输数据算是表单提交吗, 如果不算表单提交, 那算是什么方式, 跟表单提交的优势劣势各是啥

    作者回复: 不算,表单提交只是浏览器在帮忙编码,由于广为使用,服务器框架对其支持都比较好。如果自行编码,只是实现会稍麻烦些。

    
    
  • 一步
    2019-05-30
    在上传文件的时候 Encapsulated multipart part: 部分中的,有时候包含数据的是 Data 字段,有时候使用的 Line-based 字段,这是为什么呢? 是根据 资源的 Content-Type 类型吗?

    作者回复: 是的

    
    
  • 一步
    2019-05-30
    一次 multipart/form-data 请求的 boundary 资源分隔符是一样的吗?除了 Last Boundary 后面多加了两个 --

    作者回复: 对

    
    
  • 旺旺
    2019-05-30
    get到了,原来上传一个文件是这样传输给服务器的。
    如果是一个大文件,那会发好多次的请求给服务器端吗?

    作者回复: 就1个请求,但TCP协议层会自动拆分为多个IP报文。
    在第3部分HTTP2协议可以看到,HTTP2会将1个请求拆分成多个DATA FRAME帧

    
    
我们在线,来聊聊吧