【简介】利用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服务端的数据。响应主体中则包含了返回给客户端的数据。起始行和首部都是结构化的文本形式,而主体中却可以包含任意的二进制数据。
请求报文与响应报文

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

Arduino esp8266 wifi模块发送http请求

在以往的单片机编程过程中,可能大多数人更加熟悉的是单片机的wifi模块与服务器建立socket连接。然而,当遇到我们的数据需要在网页动态显示、文件上传等情况时则双方不需要保持连接在线的情况时,可能双方...
  • lrh_12580
  • lrh_12580
  • 2016年10月29日 16:19
  • 8427

Arduino+SIM900A 通过http协议实现上传数据到云服务器

本文主要讲述Arduino和SIM900A通过HTTP协议将数据上传至云服务器上的相关操作,如果想了解 Zigbee和SIM900A的相关操作请看  http://blog.csdn.net/uyy2...
  • uyy203
  • uyy203
  • 2017年01月15日 05:20
  • 2685

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

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

【实战】Coolpy之点灯详解

/* Power By Coolpy Site:http://icoolpy.com This example code is in the public domain. */ #...
  • jiasike
  • jiasike
  • 2014年12月24日 13:24
  • 849

【记录】Coolpy开机自启之Windows

Coolpy开机“无窗”自启的一个方法 一、Coolpy“无窗”运行 1.1 隐藏执行bat的方法     可以通过执行vbs脚本来隐藏执行bat。     假设要执行c:\x.bat,将以下代码保存...
  • jiasike
  • jiasike
  • 2014年12月23日 12:42
  • 887

Arduino 简介

ArduinoArduino 是一款比较流行的开源硬件,相对于传统的硬件平台,Arduino 所具有的优势就是采用 Creative Commons 许可。 Creative Commons(CC)是...
  • sdsunhui
  • sdsunhui
  • 2016年03月19日 02:45
  • 1542

DIY:利用Arduino制作智能家居系统

DIY:利用Arduino制作智能家居系统 智能制作 极客范 · 2015-04-29 20:37 (点击上方公众号,可快速关注我们) ...
  • CCJHDOPC
  • CCJHDOPC
  • 2016年01月12日 17:06
  • 677

Coolpy之图像传感器

Coolpy之图像传感器 一、  搭建环境 1)、coolpy平台的搭建。(具体参考官网http://www.icoolpy.com/) 2)、下载图片上传工具https://github.co...
  • u010529455
  • u010529455
  • 2015年03月26日 17:25
  • 723

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

1、HTTP协议简介每天,都有数以亿万计的JPEG图片、HTML页面、文本文件、MPEG电影、WAV音频文件、Java小程序和其他资源在因特网上游弋。HTTP可以从遍布全世界的Web服务器上将这些信息...
  • jiasike
  • jiasike
  • 2016年05月31日 18:04
  • 804
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【简介】利用Arduino和Coolpy设计网关 —— HTTP协议
举报原因:
原因补充:

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