zoukankan      html  css  js  c++  java
  • 计算机中对流的理解

    数据的表示

    数据可通过二进制0或1表示。一个比特位可以表示0或1。
    一个字节等于8个比特位。ascii编码规范是一个字符等于一个字节。
    也就是说可以通过abcdef...1234...这字符来表示数据。

    流的表示

    数据交换的过程就是流。这个过程的如下:
    image.png

    可以在缓冲区对流进行操作。
    Java语言的Stream类,就是对这些操作进行抽象封装。

    数据从浏览器到服务器的编码过程

    image.png

    formData上传文件的过程

    POST /upload.do HTTP/1.1
    User-Agent: SOHUWapRebot
    Accept-Language: zh-cn,zh;q=0.5
    Accept-Charset: GBK,utf-8;q=0.7,*;q=0.7
    Connection: keep-alive
    Content-Length: 60408
    Content-Type:multipart/form-data; boundary=ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
    Host: w.sohu.com
     
    --ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
    Content-Disposition: form-data;name="desc"
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
     
    [......][......][......][......]...........................
    --ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
    Content-Disposition: form-data;name="pic"; filename="photo.jpg"
    Content-Type: application/octet-stream
    Content-Transfer-Encoding: binary
     
    [图片二进制数据]
    --ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC--
    

    Content-Type是内容的MIME类型。
    Content-Type: multipart/form-data表示附件上传。附件通常是二进制文件。
    Content-Transfer-Encoding是内容传输编码。
    Content-Disposition在请求中是指每个表单域信息的格外信息。
    boundary是处理边界。

    流在nodejs的处理

    Node.js 中流操作实践
    eggjs获取上传的文件
    一文搞懂eggjs中上传文件
    前端大文件上传

  • 相关阅读:
    socket:套接字
    hashlib 加密
    面向对象总结
    类的内置方法
    反射
    类中的三个装饰器方法
    text
    模块
    练习1
    内置函数
  • 原文地址:https://www.cnblogs.com/samwu/p/11775506.html
Copyright © 2011-2022 走看看