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(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它的设计目的是为了传输数据,并且使数据交换变得简单、高效。HTTP协议是基于TCP/IP通信协议来传输数据的,主要负责客户端(浏览器)与服务器之间的...
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted ...
HTTP 协议是一种应用层面的、面向对象的协议,用于分布式超媒体信息系统。它于 1990 年提出,经过多年的发展和完善,目前在 WWW 中使用的是 HTTP/1.0 的第六版,HTTP/1.1 的规范化工作正在进行中。 HTTP 协议的主要...
http 协议是一种为分布式、合作式、多媒体信息系统服务,面向应用层的协议。它是一种通用的、不分状态(stateless)的协议,除了诸如名称服务和分布对象管理系统之类的超文本用途外,还可以通过扩展它的请求方式、...
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。 Fiddler 要比其他的网络调试器要更加简单...
HTTP协议是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。抓包工具则是网络分析的重要辅助手段,它可以帮助我们查看网络中的数据包,了解网络通信的细节。在学习和研究...
HTTP/1.1是HTTP协议的一个重要版本,相比之前的HTTP/1.0,它引入了许多改进和新特性,如持久连接、分块传输编码和更多请求方法(如PUT、DELETE)。 **HTTP请求方法** HTTP协议定义了多种请求方法,常见的有GET、...
HTTP,即超文本传输协议(Hypertext Transfer Protocol),是互联网上应用最为广泛的一种网络协议。它是万维网(WWW)的基础,允许用户从WWW服务器传输超文本文件,也用于其他资源的传输,如FTP、SMTP等。这个...
HTTP 协议(HyperText Transfer Protocol)是 TCP/IP 协议集中的一个应用层协议,用于定义浏览器和 Web 服务器之间交换数据的过程以及数据本身的格式。HTTP 协议是无状态的,通信过程总是通过浏览器发送请求来启动的...
由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无连接:无连接的含义是限制每次连接只处理一个请求。...
HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。C#是一种由微软公司开发的面向对象的编程语言,广泛应用于Windows平台的应用程序开发,包括...
一个简单的http协议服务器,多线程。服务器运行后,用户可以在浏览器中输入http://localhost:8081/webapps/xxx.html进行访问 (xxx.html为服务器端webapps文件夹下已经存放的网页)
在信息技术领域,HTTP(Hypertext Transfer Protocol)协议是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。它是一个基于请求与响应模型的、无状态的、应用层协议。...
在本案例中,“thrift实现http协议案例”是关于如何利用Thrift来处理HTTP协议通信的一个实践教程。 首先,让我们了解一下Thrift的基本工作原理。Thrift基于接口描述语言(IDL),开发者可以在IDL文件中定义服务接口...
HTTP协议是互联网上应用最为广泛的一种网络协议,用于从Web服务器传输超文本到本地浏览器的传输协议。它是一个基于请求与响应模型的、无状态的、应用层协议。本实例将深入探讨如何使用C语言来实现HTTP协议。 首先,...
- HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。 - HTTP 基于请求与响应模型,由客户端发起请求,服务器端处理并返回响应。 - 请求结构...
在信息技术领域,网络通信是不可或缺的一部分,而HTTP(超文本传输协议)则是互联网上应用最为广泛的一种网络协议。本文将深入探讨如何利用VC++编程语言来实现HTTP协议,从而获取网站内容,同时结合断点续传和在线...