您的位置:首页 > 理论基础 > 计算机网络

【简介】利用Arduino和Coolpy设计网关 —— HTTP协议

2016-05-31 18:04 525 查看

HTTP协议简介

每天,都有数以亿万计的JPEG图片、HTML页面、文本文件、MPEG电影、WAV音频文件、Java小程序和其他资源在因特网上游弋。HTTP可以从遍布全世界的Web服务器上将这些信息块迅速、便捷、可靠地搬移到人们桌面上的Web浏览器上去。

HTTP使用的是可靠的数据传输协议,因此即使数据来自地球的另一端,它也能够确保数据在传输的过程中不会被损坏或产生混乱。这样,用户在访问信息时就不用担心其完整性了,因此对用户来说,这是件好事。而对因特网应用程序开发人员来说也同样如此,因为这样就无需担心HTTP通信会在传输过程中被破坏、复制或产生畸变了。开发人员可以专注于应用程序特有细节的编写,而不用考虑因特网中存在的一些缺陷和问题。

1 Web客户端和服务端

Web内容都是存储在Web服务器上的。Web服务器所使用的是HTTP协议,因此经常会被称为HTTP服务器。这些HTTP服务器存储了因特网中的数据,如果HTTP客户端发出请求的话,它们会提供数据。客户端向服务器发送HTTP请求,服务器会在HTTP响应中回送所请求的数据,HTTP客户端和HTTP服务器共同构成了互联网网的基本组件。



2 统一资源定位符URL

URL描述了一台特定服务器上某个资源的唯一位置。它们可以很明确的说明怎样从一个固定、精确的位置获取资源。



大部分URL都遵循一种标准格式,这种格式包含三个部分。

URL的第一部分被称为方案,说明了使用何种协议访问资源。通常是HTTP协议(http://)。

第二部分给出了服务器的域名地址(比如,www.iCloud.com)。

其余部分说明了是Web服务器上哪个资源(比如,/public/index.html)。

3 HTTP方法

HTTP支持多种请求命令,这些命令被称为HTTP方法。每一条HTTP请求报文都包含一个方法。此方法会告诉服务器要做什么(获取一个Web页面、运行一个网关程序、删除一个文件等)。

五种常见的HTTP方法:



4 状态码

每条HTTP响应报文返回时都会带有一个状态码。状态码是一个数字代码(三位),提示客户端请求成功与否或者是不是需要采取其他动作。

几种常见的状态码:



5 报文

HTTP报文是由一行一行的简单字符申组成的。HTTP报文都是纯文本,不是二进制代码,所以人们可以很方便地对其进行读写’。图1-7显示了一个简单事务所使用的HTTP报文。

请求报文是从Web客户端发往Web服务器的HTTP报文,响应报文是丛服务器发往客户端的报文,除此之外没有其他类型的HTTP报文。HTTP响应和请求报文的格式类似。

HTTP报文由以下三个部分组成。

起始行

起始行是报文的第一行,在请求报文中起始行用来说明要做些什么,在响应报文中起始行用来说明出现了什么情况。

首部字段

起始行后面可以没有首部字段也可由多个首部字段。每个首部字段是一个键值对。首部用一个空行表示结束。

主体

首部的空行之后就是报文主体,它是可选的,它可以使任何类型的数据。请求主体中装载了发送给Web服务端的数据。响应主体中则包含了返回给客户端的数据。起始行和首部都是结构化的文本形式,而主体中却可以包含任意的二进制数据。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  HTTP