Http协议
Hypertext Transfer Protocol (HTTP)协议 定义
a stateless application-level request/response protocol that uses extensible semantics and self-descriptive message payloads for flexible interaction with network-based hypertext information system.
一种无状态的、应用层的、以请求/应答方式运行的协议,它使用可扩展语义和自描述的消息格式,与基于网络的超文本信息系统灵活地互动。
参考链接:https://tools.ietf.org/html/rfc7230
无状态:连续的两个请求中,后一个请求不能依赖前一个请求中的字段、头部等。
请求/应答:首先基于一个连接,客户端发起请求,然后服务器才能在这个连接中发起一个response响应。
可扩展语义解释:即使服务器使用的是Http1.0协议的,不支持1.1协议。浏览器支持Http1.1协议,它们之间依然可以正常通讯;最初一个HTTP包体只能是一种资源类型,在HTTP头部中有Content-Type表示。后来表单提交时,既有按钮、文本、下拉框也有文件、图片这样的二进制文件,于是把Content-type扩展为:multipart/form-data; boundary=----,而HTTP包体则可以由多个资源以boundary拼接而成。这就是一种可扩展的语义。
自描述:我们传递的消息是一个自描述的消息,从一个请求中我们就可以知道这消息是一张图片还是一段音频。而不需要依赖其它的请求。
超文本信息:我们所传输的不只有文档,还有图片、音频、视频等。
1.某一个请求,一定是由于“上游”请求引发的。即“上游”请求的响应接收到,并且被解析后,才发起该请求。
上图中page.html是发起的第一个请求到webServer服务器,webServer服务器返回给客户端渲染引擎,渲染引擎根据我们中间需要的元素,比如图片、css、map4等,再次发起新的请求到对应的服务器,渲染引擎拿到所有的响应后就可以渲染出用户可以看到的界面。
与HTTP协议相关的所有应用层技术的总和思维导图