图解HTTP:简单的HTTP协议和报文信息

  1. 请求报文是由请求方法请求 URI协议版本、可选的请求首部字段和内容实体构成的
  2. 响应报文协议版本状态码、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成
  3. HTTP 是一种无状态协议,引入了Cookie实现状态管理.

HTTP方法

  • GET: 获取资源,请求访问已被URI识别的源
  • POST: 传输实体主体,
  • PUT: 传输文件,类似FTP,需要在请求报文的主体中包含文件内容,然后保存到请求URI指定的位置.(没有验证机制)
  • HEAD: 获得报文首部,和GET类似,只是不返回报文主体,一般确认URI有效性,及资源更新的日期时间等
  • DELETE: 删除文件,与PUT相反(不带验证功能)
  • OPTIONS: 询问支持的方法.返回GET,PUT….
  • TRACE: 追踪路径.让web服务器端将之前的请求通信环回给客户端的方法.容易发生XST(跨站篡改),因此通常不会用到
  • CONNECT: 要求用隧道协议链接代理.要求与代理服务器通信时采用隧道协议进行TCP通信

因为PUT 和 GET 都不带验证功能,因此需要在 有借助web应用程序的验证机制遵守REST标准时才有可能开放使用.

持久连接

减少了 TCP 连接的重复建立和断开所造成的 额外开销,减轻了服务器端的负载,加快 web的 显示速度

管线化

不用等待上一个请求响应即可直接发送下一个请求,者得益于持久连接

Cookie状态管理

HTTP协议是无状态协议.使用Cookie可以保存登录状态…,

首次请求时,服务器会生成Cookie,并添加到响应中
下次客户端请求带上Cookie,服务器通过Cookie查找记录,得到之前的状态信息.

HTTP报文内的HTTP信息

  1. HTTP 报文大致可分为报文首部报文主体两块。两者由最初出现的空行(CR+LF)来划分
  2. 一般有 4 种首部,分别是: 通用首部请求首部响应首部实体首部
  3. 常用的内容编码有: gzip(GNU zip),compress(UNIX 系统的标准压缩),deflate(zlib),identity(不进行编码)
  4. 大量数据时,可通过分块传输,客户端再根据 区块 复原
  5. HTTP中使用了 多部分对象集合(Multipart)的方法
  6. 通过 范围请求实现中断处恢复
  7. 同一个Web网站可能存在多个相同内容的页面,通过内容协商实现中英文适配,编码适配等(通过Accept首部信息).
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值