加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

HTTP请求的整个过程

发布时间:2018-10-20 19:16:45 所属栏目:教程 来源:晓东
导读:1. HTTP简介 HTTPweb浏览器和服务器之类的交互过程必须遵守的协议.他是tcp/ip中的一个应用协议。用来协议数据交换过程和数据本身的格式,主要的有HTTP/1.0和HTTP1.1. HTTP/1.0和HTTP/1.1都把TCP作为底层的传输协议。 HTTP客户首先发起建立与服务器TCP连接

1. HTTP简介

HTTPweb浏览器和服务器之类的交互过程必须遵守的协议.他是tcp/ip中的一个应用协议。用来协议数据交换过程和数据本身的格式,主要的有HTTP/1.0和HTTP1.1.

HTTP/1.0和HTTP/1.1都把TCP作为底层的传输协议。

HTTP请求的整个过程

HTTP客户首先发起建立与服务器TCP连接。一旦建立连接,浏览器进程和服务器进程就可以通过各自的套接字来访问TCP。如前所述,客户端套接字是客户进程和TCP连接之间的“门”,服务器端套接字是服务器进程和同一TCP连接之间的 “门”。客户往自己的套接字发送HTTP请求消息,也从自己的套接字接收HTTP响应消息。类似地,服务器从自己的套接字接收HTTP请求消息,也往自己 的套接字发送HTTP响应消息。客户或服务器一旦把某个消息送入各自的套接字,这个消息就完全落入TCP的控制之中。

TCP给HTTP提供一个可靠的数据传输服务;这意味着由客户发出的每个HTTP请求消息最终将无损地到达服务器,由服务器发出的每个HTTP响应消息最终也将无损地到达客户。我们可从中看到分层网络体系结构的一个明显优势——HTTP不必担心数据会丢失,也无需关心TCP如何从数据的丢失和错序中恢复出来的细节。这些是TCP和协议栈中更低协议层的任务。

TCP还使用一个拥塞控制机制。该机制迫使每个新的TCP连接一开始以相对缓慢的速率传输数据,然而只要网络不拥塞,每个连接可以迅速上升到相对较高的速率。这个慢速传输的初始阶段称为缓启动(slow start)。

需要注意的是,在向客户发送所请求文件的同时,服务器并没有存储关于该客户的任何状态信息。即便某个客户在几秒钟内再次请求同一个对象,服务器也不会响应说:自己刚刚给它发送了这个对象。相反,服务器重新发送这个对象,因为它已经彻底忘记早先做过什么。既然HTTP服务器不维护客户的状态信息,我们于是 说HTTP是一个无状态的协议(stateless protocol)。

2. 一个完整的HTTP请求过程

HTTP事务=请求命令+响应结果

HTTP事务=请求命令+响应结果

一次完整的请求过程:

(1)域名解析

(2)建立TCP连接,三次握手

(3)Web浏览器向Web服务端发送HTTP请求报文

(4)服务器响应HTTP请求

(5)浏览器解析HTML代码,并请求HTML代码中的资源(JS,CSS,图片)(这是自动向服务器请求下载的)

(6)浏览器对页面进行渲染呈现给客户

(7)断开TCP连接

HTTP请求的整个过程

【编辑推荐】

  1. TCP和UDP,你要知道的123 (TCP篇)
  2. IPFS能否颠覆HTTP协议?
  3. 一篇文章读懂TCP ,UDP概念和TCP三次握手连接
  4. 叹为观止,TCP/IP服务协议,网络拓扑汇总
  5. TCP三次握手原理,你到底知道多少?
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读