手机版

HTTP协议详解_电源节点Java学院整理

时间:2021-09-04 来源:互联网 编辑:宝哥软件园 浏览:

一.概念

协议是指两台计算机在计算机通信网络中进行通信时必须遵守的规定或规则。超文本传输协议是一种通信协议,它允许超文本标记语言文档从网络服务器传输到客户端的浏览器。

HTTP协议,即超文本传输协议。它是一种数据传输协议,详细规定了浏览器和万维网服务器之间的通信规则,并通过互联网传输万维网文档。

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

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

在互联网中,所有的传输都是通过TCP/IP进行的。作为TCP/IP模型中的应用层协议,HTTP协议也不例外。HTTP协议通常承载在TCP协议之上,有时也承载在TLS或SSL协议层之上。这时,它常被称为HTTPS。如下图所示:

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

浏览网页是HTTP的主要应用,但这并不意味着HTTP只能应用于浏览网页。HTTP是一种协议,只要通信双方都遵守这个协议,HTTP就会有用。比如常用的QQ和迅雷软件都使用HTTP协议(包括其他协议)。

二、简史

它的发展是万维网联盟和互联网工作组IETF(互联网工程任务组)合作的结果,最终发布了一系列RFC,RFC1945定义了HTTP/1.0版本。最著名的是RFC2616。RFC2616定义了目前广泛使用的版本——HTTP1.1。

三、特点

HTTP协议总是意味着客户端发起请求,服务器发回响应。因此,HTTP协议的使用受到限制,当客户端没有发起请求时,服务器不可能向客户端推送消息。

HTTP协议的主要特点可以总结如下:

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

2.简单快捷:当客户向服务器请求服务时,只需要传输请求方法和路径。常用的请求方法有GET、HEAD和POST。每种方法都指定了客户和服务器之间不同类型的联系。因为HTTP协议简单,HTTP服务器的程序规模小,所以通信速度很快。

3.灵活性:HTTP允许传输任何类型的数据对象。正在传输的类型由内容类型标记。

4.HTTP0.9和1.0使用非持久连接:每个连接仅限处理一个请求,服务器在处理客户请求并收到客户回复后断开连接。HTTP1.1使用持久连接:一个连接可以传输多个对象,而不是为每个web对象创建一个新的连接,这样可以节省传输时间。

5.无状态:HTTP协议是无状态的。无状态意味着协议没有用于事务处理的内存。缺少状态意味着如果后续处理需要先前的信息,则必须重新传输,这可能会导致每个连接传输的数据量增加。

无状态协议:

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

为了保证服务器内存,Http不会为下一个连接维护这个连接传输的信息。

比如客户拿到网页后,关闭浏览器,然后再次启动浏览器,然后登录网站,但是服务器不知道客户关闭过一次浏览器。

由于Web服务器要面对很多浏览器的并发访问,为了提高Web服务器对于并发访问的处理能力,在设计HTTP协议时,规定Web服务器在发送HTTP响应消息和文档时,不会保存请求Web浏览器进程的任何状态信息。当浏览器在几秒钟内访问同一个对象两次时,服务器进程可能不会拒绝接受第二个服务请求,因为它已经向它发送了回复消息。由于网络服务器不存储发送请求的网络浏览器进程的任何信息,所以HTTP协议属于状态协议。

HTTP协议无状态和连接:保持活动的区别:

无状态意味着协议没有用于事务处理的内存,服务器不知道客户端处于什么状态。另一方面,在服务器上打开网页和之前在该服务器上打开网页之间没有联系。

HTTP是一种无状态的面向连接的协议。无状态并不意味着HTTP不能维持TCP连接,也不意味着HTTP使用UDP协议(无连接)。

自HTTP/1.1以来,默认情况下保持活动状态已打开,以保持连接功能。简而言之,当网页打开时,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭

版权声明:HTTP协议详解_电源节点Java学院整理是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。