HTTP的通讯流程

1、什么是HTTP

  1. http:是我们前/后台交互时的传输协议(即:超文本传输协议
  2. 解释
    • 是指:在进行传输时使用的协议
    • 协议中,规定了如何连接、如何发请求、如何携带数据、获取响应数据的格式、获取响应数据时,获取结束之后的链接/断开方式等

2、HTTP 的工作流程

  1. 服务器建立链接
  2. 建立链接后,发送一个请求服务器(请求)
  3. 服务器接受到请求以后进行相应的处理并给出一个回应(响应)
  4. 断开与服务器的链接
    • 注意:
      • 并不是前端发了请求这件事就结束了,而是发完请求获取响应之后这事才算结束
      • 所以HTTP的工作流程是针对一个"发",一个"收"这样整体来完成的
      • 在整体的传输过程中,为了传输数据的严谨性,会进行一些验证,验证通过后才会进行数据的传输

3、如何与服务器建立链接

  1. 需要保证客户端(浏览器)的接收和发送正常,服务器端的接收和发送正常
  2. 这里就涉及到一个东西叫做:TCP/IP 协议
    • http协议是基于TCP/IP协议的一个高级封装
    • http协议高级版的TCP协议,所以它的主要验证手段就是:三次握手 ,即:建立链接的主要步骤
  3. 三次握手
    • 客户端发送一个消息给到服务端
      • 此时:
        • 服务端知道了 客户端
### HTTP协议的工作流程 HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于在网络上传输数据的应用层协议。以下是关于HTTP协议工作流程的详细介绍: #### 请求-响应模型 HTTP采用的是请求-响应模式。客户端发送一个HTTP请求到服务器端,服务器接收到请求后返回相应的响应信息给客户端[^1]。 #### 工作流程的具体阶段 整个HTTP协议的工作过程可以分为以下几个主要部分: 1. **建立连接** 客户端通过TCP/IP三次握手与服务器建立连接。通常情况下,默认使用的端口号为80(对于HTTPS则是443),这是为了确保双方能够稳定可靠地通信。 2. **发送HTTP请求** 当连接成功之后,客户端会向服务器发出具体的HTTP请求消息。该请求由三部分内容组成:请求方法、URI路径以及HTTP版本号;随后是一些可选头部字段用来描述更多细节;最后还可能附带实体主体作为额外的数据传递。 3. **处理请求并生成响应** 服务器接收到来自客户端的请求后解析这些信息,并依据所指定的方法执行相应操作(如GET表示获取资源, POST则提交新数据等)。完成后构建一条标准格式化的回复——即HTTP响应报文,其中包含了状态码及其解释说明文字、若干头域参数还有实际要交付的内容体(如果存在的话)。 4. **关闭连接或者保持持久化链接** 如果不是持续型连接,则在此步骤结束时断开链路关系;而如果是支持长连接的情况,在一定时间内允许多次交互无需重复经历完整的建连过程即可继续进行后续通讯活动。 ```python import http.client conn = http.client.HTTPConnection("www.example.com") conn.request("GET", "/") response = conn.getresponse() print(response.status, response.reason) data = response.read() conn.close() ``` 上述Python代码片段展示了如何利用`http.client`库来模拟一次简单的HTTP GET请求,并打印出服务端返回的状态码和原因短语,读取全部应答数据后再终止socket连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值