📜  HTTP完整格式

📅  最后修改于: 2021-08-24 08:20:48             🧑  作者: Mango

HTTP代表超文本传输协议。它是蒂姆·伯纳(Tim Berner)发明的。超文本是一种文本类型,它是通过称为“超文本标记语言(HTML)”的某些标准编码语言进行特殊编码的。 HTTP / 2是HTTP的最新版本,已于2015年5月发布。

用于在两台计算机之间传输超文本的协议称为“超文本传输协议”。
HTTP在Web浏览器和Web服务器之间提供了用于建立通信的标准。它是用于将数据从一台计算机传输到另一台计算机的一组规则。诸如文本,图像和其他多媒体文件之类的数据在万维网上共享。 Web用户每次打开Web浏览器时,都会间接使用HTTP。它是一种用于分布式,协作式超媒体信息系统的应用程序协议。

这个怎么运作 ?
首先,无论何时我们要打开任何网站,都首先要打开Web浏览器,然后键入该网站的URL(例如,www.facebook.com)。现在,此URL已发送到域名服务器(DNS)。然后,DNS首先检查其数据库中该URL的记录,然后DNS将向与该URL对应的Web浏览器返回IP地址。现在,浏览器能够将请求发送到实际服务器。

服务器将数据发送到客户端后,连接将关闭。如果我们要从服务器获得其他东西,则必须重新建立客户端和服务器之间的连接。


历史 ::
Tim Berners Lee和他在CERN的团队因发明原始的HTTP和相关技术而倍受赞誉。

  1. HTTP版本0.9 –
    这是1991年引入的HTTP的第一个版本。
  2. HTTP版本1.0 –
    在1996年,RFC 1945(请求注解)在HTTP版本1.0中引入。
  3. HTTP 1.1版–
    在1997年1月,在HTTP版本1.1中引入了RFC 2068。 HTTP版本1.1标准的改进和更新于1999年6月在RFC 2616下发布。
  4. HTTP版本2.0 –
    HTTP版本2.0规范于2015年5月14日发布为RFC 7540。
  5. HTTP 3.0版–
    HTTP 3.0版基于以前的RFC草案。它被重命名为超文本传输协议QUIC,这是由Google开发的传输层网络协议。

HTTP的特点:
HTTP是基于IP的通信协议,用于将数据从服务器传递到客户端,反之亦然。

  1. 服务器处理由客户端提出的请求,并且服务器和客户端仅在当前请求和响应期间才相互了解。
  2. 只要服务器和客户端兼容,任何类型的内容都可以交换。
  3. 数据交换后,服务器和客户端便不再相互连接。
  4. 它是基于客户端和服务器要求的请求和响应协议。
  5. 它是一种无连接协议,因为在关闭连接后,服务器不记得有关客户端的任何信息,而客户端也不记得有关服务器的任何信息。
  6. 这是无状态协议,因为客户端和服务器都不期望彼此有任何东西,但是它们仍然能够通信。

好处 :

  • 由于同时连接较少,因此内存使用率和CPU使用率较低。
  • 由于TCP连接很少,因此网络拥塞较少。
  • 由于握手是在初始连接阶段完成的,因此减少了等待时间,因为不再需要为后续请求进行握手。
  • 错误可能是报告,而没有关闭连接。
  • HTTP允许对请求或响应进行HTTP管道传递。

缺点:

  • HTTP需要强大的功能来建立通信和传输数据。
  • HTTP安全性较低,因为它不使用任何加密方法,例如https使用TLS来加密普通的http请求和响应。
  • HTTP尚未针对蜂窝电话进行优化,并且过于冗长。
  • HTTP不提供真正的数据交换,因为它的安全性较低。
  • 客户端直到从服务器接收到完整的数据后才会关闭连接,因此服务器需要等待数据完成,并且在此期间不能供其他客户端使用。