专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

HTTP协议是什么协议,http协议特点用法详解

来源:小嗨整编  作者:小嗨  发布时间:2022-06-24 11:35
摘要:什么是HTTP协议?协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,HTTP协议(超文本传输协议)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。HTTP协议,即超文本传输...

什么是HTTP协议?

协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,HTTP协议(超文本传输协议)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。

HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。

HTTP协议是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。

在Internet中所有的传输都是通过TCP/IP进行的。HTTP协议作为TCP/IP模型中应用层的协议也不例外。HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示:

最全HTTP协议详解


HTTP默认的端口号为80,HTTPS的端口号为443。

浏览网页是HTTP的主要应用,但是这并不代表HTTP就只能应用于网页的浏览。HTTP是一种协议,只要通信的双方都遵守这个协议,HTTP就能有用武之地。比如咱们常用的QQ,迅雷这些软件,都会使用HTTP协议(还包括其他的协议)。

HTTP协议简史

它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本。其中最著名的就是RFC 2616。RFC 2616定义了今天普遍使用的一个版本——HTTP 1.1。

HTTP协议特点

HTTP协议永远都是客户端发起请求,服务器回送响应。这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。

HTTP协议的主要特点可概括如下:

1、支持客户/服务器模式。支持基本认证和安全认证。

2、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

4、HTTP 0.9和1.0使用非持续连接:限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。HTTP 1.1使用持续连接:不必为每个web对象创建一个新的连接,一个连接可以传送多个对象,采用这种方式可以节省传输时间。

5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

无状态协议:

协议的状态是指下一次传输可以“记住”这次传输信息的能力。

http是不会为了下一次连接而维护这次连接所传输的信息,为了保证服务器内存。

比如客户获得一张网页之后关闭浏览器,然后再一次启动浏览器,再登陆该网站,但是服务器并不知道客户关闭了一次浏览器。

由于Web服务器要面对很多浏览器的并发访问,为了提高Web服务器对并发访问的处理能力,在设计HTTP协议时规定Web服务器发送HTTP应答报文和文档时,不保存发出请求的Web浏览器进程的任何状态信息。这有可能出现一个浏览器在短短几秒之内两次访问同一对象时,服务器进程不会因为已经给它发过应答报文而不接受第二期服务请求。由于Web服务器不保存发送请求的Web浏览器进程的任何信息,因此HTTP协议属于无状态协议(Stateless Protocol)。

HTTP协议是无状态的和Connection: keep-alive的区别:

无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。从另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系。

HTTP是一个无状态的面向连接的协议,无状态不代表HTTP不能保持TCP连接,更不能代表HTTP使用的是UDP协议(无连接)。

从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,简单地说,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。

Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。

HTTP协议工作流程

一次HTTP操作称为一个事务,其工作过程可分为四步:

1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。

2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。

3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。

最全HTTP协议详解

HTTP是基于传输层的TCP协议,而TCP是一个端到端的面向连接的协议。所谓的端到端可以理解为进程到进程之间的通信。所以HTTP在开始传输之前,首先需要建立TCP连接,而TCP连接的过程需要所谓的“三次握手”。下图所示TCP连接的三次握手。

在TCP三次握手之后,建立了TCP连接,此时HTTP就可以进行传输了。一个重要的概念是面向连接,既HTTP在传输完成之间并不断开TCP连接。在HTTP1.1中(通过Connection头设置)这是默认行为。

最全HTTP协议详解


本文地址:软件教程频道 https://www.eeeoo.cn/ruanjian/8895.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!


软件教程
小编:小嗨整编
相关文章相关阅读
  • http400的错误请求怎么解决

    http400的错误请求怎么解决

    http400的错误请求解决方法:1、检查url;2、检查url参数;3、确认请求体;4、检查请求方法;5、清除缓存。HTTP400错误是指服务器无法理解请求的语法。它是客户端向服务器发送的请求中包含了无效的语法导致的。当用户在浏览器中访...

  • HTTP/ 2是什么意思

    HTTP/ 2是什么意思

    http/2是超文本传输协议(http)的最新版本,一种新的协议。它用于传输数据,这将大大加快网络速度,并可以帮助优化搜索引擎。HTTP的发展HTTP的第一个文档版本HTTP0.9于1991年发布,后来在1996年正式引入HTTP1.0版...

  • http状态码204是什么

    http状态码204是什么

    http状态码204表示服务器成功处理了请求,但没有返回任何内容,它是属于成功的一类状态码“2xx系列”,但与其他成功状态码不同的是,204状态码表示服务器已经成功处理了请求,但响应中没有要发送给客户端的实体内容。本教程操作系统:Windo...

  • http status 404怎么解决

    http status 404怎么解决

    httpstatus404通过清空浏览器缓存、使用其他浏览器访问、检查网络连接和联系网站管理员的方法解决。详细介绍:1、清空浏览器缓存,浏览器缓存的问题可能导致http状态码404;2、使用其他浏览器访问,浏览器的问题导致的http状态...

  • HTTP指的是什么?

    HTTP指的是什么?

    http(又被称为超文本传输协议)指的是互联网上应用最为广泛的一种网络协议,用于从www服务器传输超文本到本地浏览器。所有的www文件都必须遵守这个标准;它可以使浏览器更加高效,使网络传输减少。HTTP,又被称为超文本传输协议,是互联网上应...

  • 网址格式http怎么写

    网址格式http怎么写

    如果你想了解更多关于计算机的有趣知识,可以点击:常见问题  本篇深入介绍一下HTTP协议的规范,本文主要介绍它的URI、Request、Response、状态码等等信息,通过了解这些具体的内容,可以更直观的理解HTTP的协议格式,以及工作原...

  • HTTPS默认端口是什么

    HTTPS默认端口是什么

    HTTPS(全称:HyperTextTransferProtocoloverSecureSocketLayer或HypertextTransferProtocolSecure,超文本传输安全协议),是以安全为目标的H...

  • http状态码404什么含义

    http状态码404什么含义

    http状态码404表示“未找到”,404状态码可以告诉客户端请求的资源不存在,避免客户端继续进行无效的请求,并提示用户检查输入或者更改请求,通常情况下,404状态码还会附带一些错误信息,以便客户端进行进一步的处理或者展示给用户。本教程操作...

  • 周排行
  • 月排行
  • 年排行

精彩推荐