前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《图解 HTTP》 梳理(一)

《图解 HTTP》 梳理(一)

作者头像
逆葵
发布2019-04-24 19:00:09
6630
发布2019-04-24 19:00:09
举报
文章被收录于专栏:FECodingFECoding

第一章 了解 Web 及网络基础

第二章 简单的 HTTP 协议

  • HTTP/1.1 所有连接默认为持久连接,但 HTTP/1.0 未标准化
  • 管线化技术出现后,不需要等待响应即可直接发送下一个请求
  • Cookie 技术通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态。服务器发送的响应报文中含有 Set-Cookie 的首部字段时,客户端保存 Cookie。此后客户端在请求报文中会自动加上 Cookie 值

第三章 HTTP 报文内的 HTTP 信息

  • 编码提升传输速率,常用的内容编码有以下几种:gzip(GNU zip)、compress(UNIX 系统的标准压缩)、deflate(zlib)、identify(不进行编码)
  • 分割发送的分块传输编码(Chunked Transfer Coding),其将实体主体分成多个部分,每一部分均通过十六进制来标记块的大小,最后一块使用『0(CR+LF)』来标记。
  • MIME(多用途因特网邮件扩展)机制,允许邮件处理文本、图片、视频等多个不同类型的数据。MIME 扩展中使用一种称为多部分对象集合(Multipart)的方法,用来容纳多份不同类型的数据。
  • mulitpart 包含的对象如下:
    • multipart/form-data:在 Web 表单文件上传时使用

    Content-Type: multipart/form-data; boundary=AaB03x --AaB03x Content-Disposition: form-data; name="field1" Joe Blow --AaB03x Content-Disposition: form-data; name="pics"; filename="file1.txt" Content-Type: text/plain ...(file1.txt的数据)... --AaB03x--

    • multipart/byteranges:状态码 206(Partial Content,部分内容)响应报文包含了多个范围的内容时使用

    HTTP/1.1 206 Partial Content Date: Fri, 13 Jul 2012 02:45:26v GMT Last-Modified: Fri, 31 Aug 2007 02:02:20 GMT Content-Type: multipart/byteranges; boundary=THIS_STRING_SEPARATES --THIS_STRING_SEPARATES Content-Type: application/pdf Content-Range: bytes 500-999/8000 ...(范围指定的数据)... --THIS_STRING_SEPARATES Content-Type: application/pdf Content-Range: bytes 7000-7999/8000 ...(范围指定的数据)... --THIS_STRING_SEPARATES-- 说明:

    • 使用 boundary 字符串来划分 multipart 指明的各类实体,在其指定的各个实体的起始行之前插入『—』标记(如 --AaB03x),在对应的字符串的最后插入『--』标记作为结束(如 --AaB03x—)。
  • 范围请求(Range Request):指定范围发送的请求。执行范围请求时,用到首部字段 Range 来指定资源的 byte 范围:
    • 5001~10000 字节

    Range: bytes=5001-10000

    • 从 5001 字节之后全部的

    Range: bytes=5001-

    • 从一开始到 3000 字节和 5000~7000 字节的多重范围

    Range: bytes=-3000, 5000-7000

    • 说明:针对范围请求,响应返回 206 Partial Content 的响应报文。对于多重范围的范围请求,响应会在首部字段 Content-Type 标明 multipart/byteranges 后 返回响应报文。如果服务器无法响应范围请求,则会返回 200 OK。
  • 内容协商(Content Negotiation):客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最合适的资源。内容协商会以响应资源的语言、字符集、编码方式等作为判断的基准,包含在请求报文中的某些首部字段用于标识这些判断标准:
    • Accept
    • Accept-Charset
    • Accept-Encoding
    • Accept-Language
    • Content-Language
  • 内容协商技术的 3 种类型:
    • 服务器驱动协商
    • 客户端驱动协商
    • 透明协商
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一章 了解 Web 及网络基础
  • 第二章 简单的 HTTP 协议
  • 第三章 HTTP 报文内的 HTTP 信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档