02 简单的HTTP协议

本文介绍了HTTP协议的基础知识,包括请求报文与响应报文的结构,如请求行、首部字段和内容实体。HTTP协议本身不保存状态,但可通过cookie实现状态保持。HTTP方法包括GET、POST、PUT、DELETE等,用于告知服务器不同的操作意图。持久连接和管线化旨在减少通信量,提高效率,允许在单一连接上连续发送多个请求而无需等待响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.请求报文与响应报文

2.HTTP 是不保存状态的协议

3.告知服务器意图HTTP方法

4.持久连接节省通信量

1.请求报文与响应报文

1-1 请求报文
  1. 请求行(请求方法、URI、协议版本)
  2. 可选的请求首部字段
  3. 内容实体
// 请求行
POST  /form/entry  HTTP/1.1
// 可选的首部字段
Host: hackr.jp
Connction: keep-alive
Content-Type: application/x-www-form-urlencoded
// 内容实体
name=ueno&age=18
1-2 响应报文
  1. 响应行(协议版本、状态码、状态码原因短语)
  2. 响应首部字段
  3. 主体
//响应行
HTTP/1.1 200 OK
//响应首部字段
Date: True, 10 Jul 2012 06:50:15 GMT
Content-Length: 362
Content-Type: text/html
// 主体
<html>
...

2.HTTP 是不保存状态的协议

  • HTTP协议自身不对请求和响应之间的通信状态进行保存
  • 即协议对于发送过的请求和响应都不做持久化处理
  • 可以使用cookie实现保持状态功能

3.告知服务器意图HTTP方法

  • GET: 获取获取
  • POST: 传输实体主体
  • PUT: 传输文件
  • DELETE: 删除文件
  • TRACE: 追踪路径
  • CONNECT: 要求用隧道协议连接代理
  1. CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。
  2. 主要使用SSL(Secure Sockets Layer,安全套接层)和TLS(Transport Layer Security,传输安全层)协议把通信内容加密后经网络隧道传输

4.持久连接节省通信量

  1. 持久连接
  2. 管线化

为什么需要持久连接?

  • HTTP协议的初始版本中,每进行一次HTTP通信就要断开一次TCP连接
  • 在浏览一个包含多张图片的HTML页面时,也会请求页面包含的其它资源(例如图片),每次的请求都会造成无畏的TCP连接建立和断开,增加通信量的开销。
4-1 持久化连接
  • 特点:只要任意一段没有明确提出断开连接,则保持TCP连接状态
  • 好处:减少了TCP连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载
4-2 管线化
  • 持久连接使得多数请求以管线化方式发送成为可能
  • 从前发送请求后需等待并收到响应,才能发送下一个;管线化后不用等待响应亦可直接发送下一个请求(并行请求)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值