笔记——HTTP协议

我的博客:枫之羽

一、简单的HTTP协议

1.1http协议用户客户端和服务器之间的通信

应用http协议时,必定是一端担任客户角色,另一端担任服务端角色。

客户端:请求文本或图像等资源的一端称为客户端;

服务端:提供资源响应的一端。

1.2通过请求和响应的交换达成通信

请求报文是由请求方法、请求URI、协议版本、可选的请求首部字段和内容实体构成的。
在这里插入图片描述
响应报文基本上由协议版本、状态码(表示请求成功或失败的数字代码)、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成。
在这里插入图片描述

1.3http是不保存状态的协议

http是一种不保存状态,即无状态(stateless)协议。http协议自身不对请求和响应之间的通信状态进行保存。也就是说在http这个级别,协议对于发送过的请求或响应都不做持久化处理。
在这里插入图片描述

http/1.1虽然是无状态协议,但为了实现期望的保持状态功能,于是引入了Cookie技术。有了Cookie再用http协议通信,就可以管理状态了。

1.4请求URI定位资源

http协议使用URI定位互联网上的资源。正式因为URI的特定功能,在互联网上任意位置的资源都能访问到。

​ 当客户端请求访问资源而发送请求时,URI需要将作为请求报文中的请求URI包含在内。指定请求URI的方式有很多。

在这里插入图片描述

1.5告知服务器意图的http方法

GET:获取资源

POST:传输实体主体

PUT:传输文件

HEAD:获得报文首部

DELETE:删除文件

TRACE:追踪路径

CONNECT:要求用隧道协议连接代理

1.6使用方法下达命令

向请求URI指定的资源发送请求报文时,采用称为方法的命令。

方法的作用:**可以指定请求的资源按期望产生某种行为。**方法有GET、POST和HEAD等。
在这里插入图片描述

1.7持久连接节省通信量

http协议的初始版本中,每进行一次http通信就要断开一次。在这里插入图片描述

使用浏览器浏览一个包含多张图片的HTML页面时,在发送请求访问HTML页面资源的同时,也会请求该HTML页面里包含的其他资源。因此,每次的请求都会造成无谓的TCP链接的建立和断开,增加通信量的开销。

1.7.1持久连接

为了解决上述TCP连接的问题,http/1.1和一部分http/1.0想出了持久连接(HTTP Persistent Connections,也称为HTTP keep-alive或HTTP connection reuse)的方法。

持久连接的特点是:只要任意一端没有明确提出断开连接,则保持TCP连接状态。

持久连接的好处在于减少了TCP连接的重复建立和断开所造成的额外开销减轻了服务器的负载。另外,减少开销的那部分时间,使HTTP请求和响应能够更早结束,这样Web页面的显示速度也就相应提高了。

1.7.2管线化

持久连接使得多数请求以管线化(pipelining)方式发送成为可能。从前发送请求后需要等待并受到响应,才能发送下一个请求。管线化技术出现后,不用等待响应亦可直接发送下一个请求。
在这里插入图片描述

1.8使用Cookie的状态管理

http协议是无状态协议,在保存无状态协议这个特征的同时又要解决类似的矛盾为,于是引入了Cookie技术。Cookie技术通过在请求和响应报文中写入Cookie信息来控制客户端的状态。

​ Cookie会根据从服务器发送的响应报文内的一个叫做Set-Cookie的首部字段信息,通知客户端保存Cookie。当下次街护短再往该服务器发送请求时,客户端会自动在请求报文中加入Cookie值后发送出去。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

二、HTTP报文内的HTTP信息

2.1报文

在这里插入图片描述

2.2请求报文及响应报文的结构

在这里插入图片描述

2.3编码提升传输速率

http在传输数据时可以按照数据原貌直接传输,但也可以在传输过程中通过编码提升传输速率。

2.3.1报文主体和实体主体的差异

**报文:**HTTP通信中的基本单位,由8位组字节流组成,通过HTTP通信传输。

**实体:**作为请求或响应的有效载荷数据(补充项)被传输,其内容由实体首部和实体主体组成。

HTTP报文的主体用于传输请求或响应的实体主体。

通常,报文主体等于实体主体。

三、返回结果的HTTP状态码

3.1状态码告知从服务器端返回的请求结果

状态码的职责是当客户端想服务器端发送请求时,描述返回的请求结果。

状态码如200 OK,以3位数字和原因短语组成。

数字中的第一位指定了响应类别,后两位无分类。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值