HTTP协议

概述

    HTTP协议是HyperText Transfer Protocol的缩写,即超文本传输协议。是由w3c(万维网联盟)制定的一种应用层协议,用来定义浏览器与web服务器之间如何通信以及通信的数据格式。

通信过程

HTTP协议的通信过程可以分为以下四个步骤:
 1. 浏览器根据IP地址和端口号与服务器建立连接
 2. 向Web服务器发送请求数据包
 3. Web服务器接收请求数据包后,发送相应的响应数据包
 4. 浏览器接收响应数据后关闭连接
    在这个过程中,一次请求对应一次连接,当浏览器再次发请求给服务器时,Web服务器并不知道这就是上次发请求的客户端,这也是HTTP协议的一个特点-无状态协议。这种需要时建立连接,使用结束后立即断开连接的方式使得Web服务器可以利用有限的连接为尽可能多的客户提供服务。

协议格式

请求数据包

请求数据包包含三个部分:
 1. 请求行,包括请求方式,请求资源路径,以及协议版本
 2. 消息头是由若干的键值对组成,主要用于传递给Web服务器一些信息。如,浏览器版本、接受资源的类型等
 3. 在消息头的下面会跟着一个空白行,这样就可以区分出消息头与实体内容这两个部分。而在请求数据包中,大部分情况实体内容为空,只有当请求方式为POST时,实体内容才有要提交的表单数据

响应数据包

响应数据包也包含三个部分:
 1. 状态行,包括协议类型、版本、状态码、状态描述
 2. 消息头(若干),也是多组键值对组成的信息说明。如返回的Content-Type消息头可以告诉浏览器返回的结果数据类型和字符集
 3. 实体内容,位于消息头下面的一个空白行之后。空白行意在通知浏览器消息头的结束以及结果内容的开始,浏览器就从这里开始数据的逐行解析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值