HTTP协议

这是一篇理论!!

一、HTTP 简介

1. 什么是通信

2. 什么是通信协议

3. HTTP

(1)什么是 HTTP 协议

(2)HTTP 协议的交互模型

二、HTTP 请求消息

1. 什么是 HTTP 请求消息

2. HTTP 请求消息的组成部分

(1)请求行

(2)请求头部

(3)空行

(4)请求体

三、响应消息

1. 什么是 HTTP 响应消息

2. HTTP 响应消息的组成部分

(1)状态行

(2)响应头部

(3)空行

(4)响应体

四、HTTP 请求方法

五、HTTP 响应状态代码

1. 什么是HTTP 响应状态代码

2. HTTP 响应状态码的组成及分类

3. 常见的 HTTP 响应状态码

(1)2** 成功相关的响应状态码

(2)3** 重定向相关的响应状态码

(3)4** 客户端错误相关的响应状态码

(4)5** 服务端错误相关的响应状态码

一、HTTP 简介

1. 什么是通信

通信,就是信息的传递和交换。

通信的三要素:

  • 通信的主体
  • 通信的内容
  • 通信的方式

2. 什么是通信协议

通信协议(Communication Protocol)是指通信的双方完成通信所必须遵守规则和约定

通俗的理解:通信双方采用约定好的格式来发送和接受信息,这种事先约定好的通信格式,就叫做通信协议

客户端与服务器之间要实现网页内容的传输,则通信的双方必须遵守网页内容的传输协议

网页内容又叫做超文本,因此网页内容的传输协议又叫做超文本传输协议,简称 HTTP 协议

3. HTTP

(1)什么是 HTTP 协议

HTTP 协议即超文本传输协议,它规定了客户端与服务器之间进行网页内容传输时,所必须遵守的传输格式。

例如:

  • 客户端要以 HTTP 协议要求的格式把数据提交服务器
  • 服务器要以 HTTP 协议要求的格式把内容响应客户端

(2)HTTP 协议的交互模型

 HTTP 协议采用 请求/响应 的交互模型。

二、HTTP 请求消息

1. 什么是 HTTP 请求消息

由于 HTTP 协议属于客户端浏览器和服务器之间的通信协议。因此,客户端发起的请求叫做 HTTP 请求客户端发送到服务器的消息,叫做 HTTP 请求消息

注意 :HTTP 请求消息又叫做 HTTP 请求报文

2. HTTP 请求消息的组成部分

HTTP 请求消息由 请求行请求头部空行 和 请求体 四个部分组成。

(1)请求行

请求行请求方式URLHTTP协议版本 3个部分组成,他们之间使用空格隔开。

(2)请求头部

请求头部用来描述客户端的基本信息,从而把客户端相关的信息告知服务器

比如:

        User-Agent 用来说明当前是什么类型的浏览器;

        Content-Type 用来描述发送到服务器的数据格式;

        Accept 用来描述客户端能够接受什么类型的返回内容;

        Accept-Language 用来描述客户端期望接收哪种人类语言的文本内容;

请求头部由多行 键/值对 组成,每行的键和值之间用英文的冒号分割。

 请求头部 — 常见的请求头字段

 示例:

(3)空行

最后一个请求字段的后面是一个空行,通知服务器请求头部至此结束

请求消息中的空行,用来分隔请求头部请求体

(4)请求体

请求体中存放的,是要通过 POST 方式 提交到服务器的数据。

 注意:只有 POST 请求 才有请求体,GET 请求 没有请求体!!

三、响应消息

1. 什么是 HTTP 响应消息

 响应消息就是服务器响应给客户端的消息内容,也叫做响应报文。

2. HTTP 响应消息的组成部分

(1)状态行

状态行 HTTP 协议版本状态码 状态码的描述文本 三个部分组成,他们之间使用空格隔开。

 示例:

(2)响应头部

响应头部用来描述服务器的基本信息。响应头部由多行 键/值对 组成,每行的键和值之间用英文的冒号分割。

 示例:

(3)空行

在最后一个响应头部字段结束之后,会紧跟一个空行,用来通知客户端响应头部至此结束

响应消息中的空行,用来分隔响应头部响应体

(4)响应体

响应体中存放的是服务器响应给客户端的资源内容。

 示例:

四、HTTP 请求方法

HTTP 请求方法,属于 HTTP 协议中的一部分,请求方法的作用是:用来表明 要对服务器上的资源执行的操作

最常用的请求方法是 GETPOST

HTTP 常见的请求方法如下图:

五、HTTP 响应状态代码

1. 什么是HTTP 响应状态代码

HTTP 响应状态码 也属于 HTTP 协议的一部分,用来标识响应的状态

响应状态码会随着响应消息一起被发送至客户端浏览器,浏览器根据服务器返回的响应状态码,就能知道这次 HTTP 请求的结果是成功还是失败了。

示例:

2. HTTP 响应状态码的组成及分类

HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字用来对状态码进行细分。

HTTP 状态码共分为 5 种 类型:

3. 常见的 HTTP 响应状态码

(1)2** 成功相关的响应状态码

2** 范围的状态码,表示服务器已成功接收到请求并进行处理。

常见的 2** 类型的状态码如下:

(2)3** 重定向相关的响应状态码

3** 范围的状态码,表示服务器要求客户端重定向,需要客户端进一步的操作以完成资源的请求。

常见的 3** 类型的状态码如下:

(3)4** 客户端错误相关的响应状态码

4** 范围的状态码,表示客户端的请求有非法内容,从而导致这次请求失败。

常见的 4** 类型的状态码如下:

(4)5** 服务端错误相关的响应状态码

5** 范围的状态码,表示服务器未能正常处理客户端的请求而出现意外错误。

常见的 5** 类型的状态码如下:

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值