深入理解什么是http协议

QQBA18A2F81D 分类:其它

什么是Http协议

Http协议是超文本传输协议,定义了web浏览器如何向网站服务器请求加载网页文件及网站服务器如何将网页文件传输给web浏览器,从网络层级协议来看,http属于应用层协议,可与互联网进行可靠地交换文件,例如文字、图片、声音及其它多媒体文件,还详细规定了web浏览器与网站服务器之间互相通信规则。
web浏览器客户端与网页服务器端在http协议下的交互过程如下图所示:

客户端与服务器端在Http协议下的交互过程如

HTTP协议是一个基于TCP/IP通信协议进行传输数据的,例如文字、图片、查询结果及其它多媒体文件。

HTTP1.0和HTTP1.1的区别

在http1.0协议中,客户端与服务端建立连接后,只允许获得一个web资源;
在HTTP1.1协议中,允许客户端与服务端建立连接后,在一个连接上获取多个web资源。

HTTP工作原理

HTTP协议定义了web浏览器客户端如何向网站服务器请求网页文件及网站服务器如何将web网站页面传输给客户端浏览器,HTTP协议采用的是请求与响应模型,客户端浏览器先向网站服务器端发送一个请求报文,请求报文包含有请求方法、URL链接、协议版本、请求头部和请求数据,然后服务器端响应客户端请求,响应的内容有协议版本、成功或错误代码、服务器端的信息、响应头部和响应数据。

以下是 HTTP 请求/响应的步骤:

1、客户端连接服务器

http客户端一般指的就是浏览器,客户端浏览器与服务器端的http端口(80端口)建立起一个TCP套接字连接。

2、发送HTTP请求

建立连接后,客户端向服务端发送一个请求报文,请求报文包括请求行、请求头部、空行和请求数据等四个部分,如下图所求示:

HTTP请求包括的内容

3、服务器接受请求并返回HTTP响应

服务端解析此请求并定位客户端请求的资源,接着服务端将请求的资源复本写入TCP套接字中,由客户端浏览器读取显示,这就是一个网页由请求到响应的完整过程,一个响应由状态行、响应头部、空行和响应数据等四部分组成。

4、释放连接TCP连接

将connection模式调整为close,服务端会关闭TCP连接,客户端也会被关闭,释放TCP连接,将connection模式调整为keepalive,则客户端与服务端会保持一段时间的连接,在该段时间内是可以继续接收请求响应的。

5、客户端浏览器解析HTML内容

浏览器先解析状态码,查看响应请求是否成功的状态码,再解析响应头,响应头告知以下若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML语法对其进行格式化,并在浏览器窗口中显示。

回复

我来回复
  • 暂无回复内容

联系我

平时工作忙:合作还是咨询SEO服务,请简明扼表明来意!谢谢!

在线咨询:点击这里给我发消息

邮件:dabingseo@qq.com
工作时间:周一至周六,10:30-24:30,节假日休息

个人微信
个人微信
分享本页
返回顶部