A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小刀葛小伦 黑马粉丝团   /  2019-8-15 17:14  /  898 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

HTTP协议:hypertext transfer protocol译为超文本传输协议,简称HTTP协议。
HTTP协议是web应用层协议。他在传输层使用的是TCP协议。HTTP协议有两个版本,分别是HTTP1.0(非持久HTTP连接)和HTTP1.1(持久HTTP连接)。其中HTTP1.1可以在一个TCP连接上发送多个命令和应答。
HTTP1.0
在HTTP1.0中使用的是非持久连接,每个TCP连接最多允许传输一个对象。首先浏览器收到服务器的响应以后,会获得HTML文件,从而解析HTML文件中包含的其他URL。每次传输一个对象后,TCP连接就随之关闭。
往返时间(RTT):从客户端发起HTTP请求到服务器响应该HTTP请求的时间。
web浏览器向服务器发起请求的时候会涉及一个“三次握手”的过程,即客户端向服务器发送一小段TCP报文。服务器用一小段TCP包来响应,最后客户端向服务器返回确认。这个步骤的前两步用去了一个RTT。然后第三步和HTTP请求/响应用去了另一个RTT。因此总时间是2RTT+HTML文件传输时间。
HTTP1.1
HTTP1.1中使用持久连接,每个TCP连接可以传输多个对象。在建立TCP连接以后,服务器在发送响应以后,并不关闭该TCP连接。后续的请求和响应报文仍能在该TCP连接上传输。现在HTTP默认模式时使用带流水线的持续连接。
我们经常使用web浏览器访问某一个网站的时候,建立的连接通常都是基于HTTP或者是HTTPS。
现在的web网页通常都是由HTML+CSS+JavaScript写成的。当我们在浏览器的地址栏输入一个网站的网址时,这个网址就是URL(统一资源定位符),有了网站域名,普通网民访问一个网站时的难度就大大降低了。只需要记住域名即可,而非IP地址。这个域名会被DNS解析从而得到相应的IP地址等信息。
当用户在浏览器的地址栏输入一个网址并回车访问时,HTTP处理就开始了。首先是浏览器(客户端)向服务器的80端口(进程端口号默认为80)建立一个TCP连接。然后就可以在这个TCP连接上进行请求和应答。
HTTP服务器不维护客户的先前状态信息(HTTP是无状态协议),也就是说,当你打开某个网页发生卡顿的情形时,你重新刷新了该网页,这时客户端将会重新请求服务器,而不是从上次卡顿的地方继续传输。
现在的浏览器大多数会打开5——10个TCP连接,并且HTTP协议默认使用持续连接。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马