【HTTP协议】简单的HTTP协议(2)

一:URI和URL

  • URI(统一资源标识符)
  1. URI格式

表示指定的uri,要使用绝对的URI,绝对的URL以及相对的URL。相对的URL,是指从浏览器基本URI处指定的URL。

绝对的URI格式:

 查询字符串:可以针对指定的路径传入参数。

片段标识符:使用片段标识符可以标记处已获取资源的子资源。

  • URL(统一资源定位符)

关系:URI用字符串标识某一个互联网资源,而URL表示资源的地点(互联网所处的位置)。可见URL是URI的子集。

二:HTTP协议用于客户端和服务器端

在网络中,请求文本或者图像资源的一端称为客户端,而提供资源响应的一端称为服务器端。

在两台电脑进行通信时,必定有一端是客户端,另一端是服务器端。就单条线路来说HTTP协议能够区分哪里是客户端服务器端。

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

HTTP协议规定:由客户端发出请求响应,服务器端在没有接收到请求之前不会发送响应。

例子:

 先来看发送报文:

 GET表示请求访问服务器的类型称为方法,,随后的/index.html表示请求访问的资源对象(URI),最后的就是HTTP的版本。

HTTP协议中host的作用:

Host 是 HTTP 1.1 协议中新增的一个请求头,主要用来实现虚拟主机技术。

虚拟主机(virtual hosting)即共享主机(shared web hosting),可以利用虚拟技术把一台完整的服务器分成若干个主机,因此可以在单一主机上运行多个网站或服务。

举个栗子,有一台 ip 地址为 61.135.169.125 的服务器,在这台服务器上部署着谷歌、百度、淘宝的网站。为什么我们访问 https://www.google.com 时,看到的是 Google 的首页而不是百度或者淘宝的首页?原因就是 Host 请求头决定着访问哪个虚拟主机。
请求报文由请求方法,请求URI,协议版本,可选的请求首部字段和内容实体构成。

再来看请求报文的构成

在起始是版本的HTTP/1.1表示版本。

紧接着200 OK表示请求处理结果的状态码和原因短语。

响应报文基本上由协议版本,状态码,用以解释状态码的原因短语,可选的响应首部字段以及实体主体构成。

四:HTTP是不保存状态的协议

 HTTP是一种不保存的状态,即无状态协议。HTTP协议自身不对请求或响应之间的通信状态进行保存。

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

五:请求URI定位资源

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

请求的例子:

除此之外,如果不是访问特定资源而是对服务器本身发起请求,可以用一个*代替请求URI。

 

六:使用方法下达命令

 

例子说明:

GET:获取资源

 

POST:传输实体主体

PUT:传输文件

 

 HEAD:获取报文首部

DELETE:删除文件

 

OPTIONS:询问支持的方法

TRACE:追踪路径

Trace方法是让Web服务器将之前的请求通信环回给客户端的方法。

发送请求时,在Max-Forwards首部填入数值,没经过一个服务器就将该数字减1.当数字减为0时,就停止继续传输。

客户端通过TRACE方法可以查询发送出去的请求是怎样被加工修改的。

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

CONNECT主要进行代理服务器通信时建立隧道,实现 用隧道协议进行TCP通信。主要使用SSL(Secure Sockets Layer,安全套接字)和TLS(Transport Layer Security,传输层安全)协议把通信内容加密后经网络隧道进行传输。

七:持久连接节省通信量

HTTP协议的初始版本中,每进行一次HTTP通信就要断开一次TCP连接。

 在现在这个网络中,HTML文档中不仅包含文本,还包含多张图片。

 这样就需要多次进行TCP连接和断开连接,需要消耗大量CPU。

所以需要进行持久化连接,持久连接的特点是:只要任意一端没有明确提出断开连接,则保持TCP连接。

 八:管线化

持久连接使得多次请求以管线化方式成为可能。管线化使得各次请求之间不需要等待。

 九:使用Cookie的状态管理

Cookie会根据从服务器端发送的响应报文内的一个叫Set-Cookie的首部字段信息,通知客户端保存Cookie。当下次客户端再往服务器端发送请求时,客户端会自动在请求报文中加入Cookie值后发送回去。

 

 报文中的信息:

发布了139 篇原创文章 · 获赞 93 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_43271086/article/details/105594040
今日推荐