前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTTP协议

HTTP协议

作者头像
zy010101
发布2019-05-25 19:54:40
6930
发布2019-05-25 19:54:40
举报
文章被收录于专栏:程序员

版权声明:本文为博主原创文章,转载请注明博客地址: https://cloud.tencent.com/developer/article/1433328

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协议默认使用持续连接。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年01月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HTTP1.0
  • HTTP1.1
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档