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

原创 2016年05月31日 18:04:41

HTTP协议简介

每天,都有数以亿万计的JPEG图片、HTML页面、文本文件、MPEG电影、WAV音频文件、Java小程序和其他资源在因特网上游弋。HTTP可以从遍布全世界的Web服务器上将这些信息块迅速、便捷、可靠地搬移到人们桌面上的Web浏览器上去。
HTTP使用的是可靠的数据传输协议,因此即使数据来自地球的另一端,它也能够确保数据在传输的过程中不会被损坏或产生混乱。这样,用户在访问信息时就不用担心其完整性了,因此对用户来说,这是件好事。而对因特网应用程序开发人员来说也同样如此,因为这样就无需担心HTTP通信会在传输过程中被破坏、复制或产生畸变了。开发人员可以专注于应用程序特有细节的编写,而不用考虑因特网中存在的一些缺陷和问题。

1 Web客户端和服务端

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

2 统一资源定位符URL

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

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

  • URL的第一部分被称为方案,说明了使用何种协议访问资源。通常是HTTP协议(http://)。
  • 第二部分给出了服务器的域名地址(比如,www.iCloud.com)。
  • 其余部分说明了是Web服务器上哪个资源(比如,/public/index.html)。

3 HTTP方法

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

4 状态码

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

5 报文

HTTP报文是由一行一行的简单字符申组成的。HTTP报文都是纯文本,不是二进制代码,所以人们可以很方便地对其进行读写’。图1-7显示了一个简单事务所使用的HTTP报文。
请求报文是从Web客户端发往Web服务器的HTTP报文,响应报文是丛服务器发往客户端的报文,除此之外没有其他类型的HTTP报文。HTTP响应和请求报文的格式类似。
HTTP报文由以下三个部分组成。

  • 起始行

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

  • 首部字段

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

  • 主体

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

HTTP服务网关

《大型分布式网站架构设计与实践》 相同的数据,相同的功能,在不同的平台上,没有必要进行重复的开发,可以很好的利用SOA体系(面向服务的体系架构),达成公共部分逻辑的复用。由于客户端APP、第三方IS...

帆布指纹识别

一般情况下,网站或者广告联盟都会非常想要一种技术方式可以在网络上精确定位到每一个个体,这样可以通过收集这些个体的数据,通过分析后更加精准的去推送广告(精准化营销)或其他有针对性的一些活动。Cookie...
  • sirnuo
  • sirnuo
  • 2017年08月11日 14:40
  • 483

mac下完全卸载postgresql的方法

这里针对的是 9.3 版本。如是其他版下面的仅供参考。 1、如果是postgresql.app的形式,这个简单,跟其他app一样,删除app即可。 2、如果是使用installer图形界面方式安装...

【简介】利用Arduino和Coolpy设计网关 —— 开源项目Coolpy

Coolpy API 官方文档:http://www.icoolpy.com/docs.html1. Coolpy简介Coolpy是一个开放的通用物联网服务平台,主要提供传感器数据的接入、存储和展现服...
  • jiasike
  • jiasike
  • 2016年05月31日 18:20
  • 727

HTTP——网关、隧道、中继、Agent代理

随着时间流逝,人们已经从网上浏览静态资源,发展到共享更复杂的资源,比如数据库内容或动态生成的页面,因此,本篇文章介绍几种用HTTP访问不同资源的方法。 网关 网关是资源和应用程序之间的粘合剂,可以...

基于WAP协议的网关设计

  • 2011年11月17日 13:49
  • 144KB
  • 下载

计算机网络(谢)——第三章读书笔记4.5(内部网关协议OSPF)

内部网关协议OSPF: 使用IP数据报,而且数据报很短(这样不必分片) 优点: 更新过程收敛很快 基本特点: 1.向本自治系统所有路由器发送信息(洪泛法) 2.发送的信息就是与本路由器相...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【简介】利用Arduino和Coolpy设计网关 —— HTTP协议
举报原因:
原因补充:

(最多只允许输入30个字)