http协议是一种什么协议(赔偿协议)
Http是一种主要用于浏览器和服务器之间传输数据的协议。HTTP协议是互联网上使用最广泛的网络传输协议,所有的WWW文件都必须符合这个标准;它传输数据(HTML文件、图片文件、查询结果等。)基于TCP/IP通信协议。
Http(超文本传输协议)是一种简单的请求-响应协议,通常运行在TCP上。它指定了客户端可以向服务器发送什么类型的消息以及它得到什么类型的响应。请求和响应消息的标题用ASCII码给出。消息内容的格式类似于MIME。这个简单的模型是早期网络的成功之处,因为它使得开发和部署变得如此简单。
HTTP诞生之初,主要应用于WEB内容获取。当时的内容没有现在丰富,排版也没有现在这么好看,用户交互的场景也很少。对于这个获取网页内容的简单场景,HTTP表现得相当不错。但是随着互联网的发展和WEB2.0的诞生,开始显示更多的内容(更多的图片文件),排版变得更漂亮(更多的CSS),引入了更复杂的交互(更多的jS)。打开网站主页时,用户加载的数据总量和请求数量也在增加。
今天,大多数门户网站主页的规模将超过2M,请求数量可达100个。另一个广泛使用的应用是移动互联网客户端应用,不同类型的应用对HTTP的使用不同。对于电子商务应用程序,加载主页的请求可能多达10次。对于微信等IM,HTTP请求可能仅限于下载语音和图片文件,请求频率不高。
工作原理
HTTP基于客户机/服务器模式,面向连接。典型的HTTP事务有以下过程:
(1)客户端与服务器建立连接;
(2)客户端请求服务器;
(3)服务器接受请求,并根据请求返回相应的文件作为响应;
(4)客户端关闭与服务器的连接。
客户端和服务器之间的HTTP连接是一次性连接,这限制了每个连接只能处理一个请求。当服务器返回这个请求的响应时,它将立即关闭连接,然后为下一个请求重新建立连接。这种一次性连接主要是考虑到WWW服务器在互联网上面对成千上万的用户,只能提供有限数量的连接,所以服务器不会让一个连接等待,及时释放连接可以大大提高服务器的执行效率。
HTTP是无状态协议,即服务器在与客户打交道时不保持任何状态。这大大降低了服务器的内存负担,从而保持了快速的响应速度。HTTP是面向对象的协议。允许传输任何类型的数据对象。它通过数据类型和长度识别传输数据的内容和大小,并允许数据的压缩传输。当用户在HTML文档中定义一个超文本链接时,浏览器会通过TCP/IP协议与指定的服务器建立连接。
从技术上讲,客户端在特定的TCP端口上打开一个套接字(端口号一般为80)。如果服务器一直在侦听这个众所周知的端口上的连接,连接将会建立。然后客户端通过连接发送包含请求方法的请求块。
HTTP规范定义了九种请求方法,每种方法都指定了客户机和服务器之间不同的信息交换方式。常用的请求方法有GET和POST。服务器会根据客户的请求完成相应的操作,并以响应块的形式返回给客户,最后关闭连接。