HTTP都是以TCP为底层协议。浏览器首先发出请求,与服务器TCP连接。连接后,浏览器和服务都可以使用自己的套接字来访问TCP。浏览器往自己的套接字中发送请求并接受响应,服务器从自己的套接字中接受请求并发出响应。TCP有自己的控制机制,该机制原理如下:每个新的连接开始都以很低的速度传输数据,只要没有堵塞的情况发生,传输的速度会迅速的上升。这个机制称为缓启动 slow start。
同时,HTTP完全不维护用户的状态信息。该协议为无状态协议。
HTTP 协议分为HTTP/1.0 和HTTP/1.1,其中HTTP/1.1使用持久连接。
持久连接和非持久连接的区别。
非持久连接没发出一个对象后,TCP连接就会关闭。在开一个页面中可能开关了很多个TCP连接,TCP就在服务器和客户端使用了多个TCP缓存区并维护多个变量。由于TCP协议的缓启动,所以非持久地连接中TCP连接多在缓启动中就关闭了。浏览器是使用多个TCP连接读取页面的。持久连接会让TCP连接持续开着,直到HTTP还是回收它,这样一个TCP连接可能发送一个甚至多个页面给用户。
HTTP内容分为请求消息和响应消息两类。
HTTP请求消息如下:
GET /path/aa.html HTTP/1.1
Host:www.url
Connection:close
User-agent:Mozilla/4.0
Accept-language:zh-cn
该内容包含了服务器位置,HTTP版本,语言版本。
HTTP响应内容如下:
HTTP/1.1
Connectlon:
Date:
Server:
LastNodified:
ContentLength:
ContentType:
头内容的状态值如下:
200OK
表示一切正常,凡是2开头的代码表示的都是成功进行中。
404NotFound
表示文件不存在。
403Forbidden
服务器无法满足现在的请求,连接数太多等原因。
401Unauthorized
未认证的请求,通常浏览器接受到这个状态值,就会弹出一个对话框,要求你输入密码。
500InternalServerError
服务器内部错误。
206PartialContent
部分的内容,是断点续传的标准返回码
<stream></stream>
分享到:
相关推荐
本实验是湘潭大学网络协议课程中的一个环节,旨在通过实践操作加深学生对HTTP协议的理解。实验选取了常见的HTTP协议作为研究对象,通过对HTTP协议的深入剖析,使学生能够掌握HTTP协议的基本原理、报文格式以及其工作...
HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。它是一个基于请求与响应模型的、无状态的、应用层协议,通常运行在TCP/IP协议之上。HTTP协议...
HTTP协议全称为超文本传输协议(Hypertext Transfer Protocol),是一种应用层协议,用于在客户端和服务器之间进行无状态的、基于请求/响应的通信。HTTP协议简单快速,采用请求/响应模型,客户端发送请求到服务器,...
HTTP协议ppt
HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它的设计目的是为了传输数据,并且使数据交换变得简单、高效。HTTP协议是基于TCP/IP通信协议来传输数据的,主要负责客户端(浏览器)与服务器之间的...
HTTP 协议是一种应用层面的、面向对象的协议,用于分布式超媒体信息系统。它于 1990 年提出,经过多年的发展和完善,目前在 WWW 中使用的是 HTTP/1.0 的第六版,HTTP/1.1 的规范化工作正在进行中。 HTTP 协议的主要...
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。 Fiddler 要比其他的网络调试器要更加简单...
HTTP协议是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。抓包工具则是网络分析的重要辅助手段,它可以帮助我们查看网络中的数据包,了解网络通信的细节。在学习和研究...
由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无连接:无连接的含义是限制每次连接只处理一个请求。...
HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。C#是一种由微软公司开发的面向对象的编程语言,广泛应用于Windows平台的应用程序开发,包括...
一个简单的http协议服务器,多线程。服务器运行后,用户可以在浏览器中输入http://localhost:8081/webapps/xxx.html进行访问 (xxx.html为服务器端webapps文件夹下已经存放的网页)
在本文中,我们将深入探讨如何使用C++实现HTTP协议,并以提供的文件为例,解析和理解一个实际的HTTP协议实现项目。这个项目包含了处理GET、POST请求等核心功能,是学习和理解网络编程的一个良好起点。 首先,让我们...
在信息技术领域,HTTP(Hypertext Transfer Protocol)协议是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。它是一个基于请求与响应模型的、无状态的、应用层协议。...
HTTP协议是互联网上应用最为广泛的一种网络协议,用于从Web服务器传输超文本到本地浏览器的传输协议。它是一个基于请求与响应模型的、无状态的、应用层协议。本实例将深入探讨如何使用C语言来实现HTTP协议。 首先,...
自1990年被提出以来,HTTP经历了多个版本的演变,其中HTTP/1.0是当前广泛使用的版本之一,而HTTP/1.1规范仍在不断完善中,并且下一代HTTP协议(HTTP-NG)的相关提案已经出现。 #### HTTP协议的核心特性 **1. 支持...
HTTP是基于TCP/IP协议的应用层协议之一,其最新版本为HTTP/1.1,由RFC 2616定义。 #### 二、HTTP/1.1版本简介 - **发布日期与作者**: - **发布时间**:1999年6月 - **主要作者**:R. Fielding, J. Gettys, J.C....
是一个压缩包文件,它包含了一个实现简单HTTP协议的程序,专注于POST和GET两种请求方法。"POST_SHTTP协议"指的是这个程序支持使用POST方法来向服务器发送数据,而"linux http get post"表明这个程序在Linux环境下...
超文本传输协议(HTTP)是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议。它是一种通用的,不分状态(stateless)的协议,除了诸如名称服务和分布对象管理系统之类的超文本用途外,还可以通过扩展它的...
[一社区(村)一法律顾问服务协议书]法律顾问聘用协议书.pdf