互联网基础
互联网协议
在互联网中,为了是各种设备相互之间都可以进行通讯,就需要使用一种大范围内通用的“语言”,这种在窝囊罗设备之间进行通讯的“语言”,称之为互联网协议—TCP/IP协议。
TCP/IP协议
TCP/IP协议里包含以下协议:
分层
应用层:HTTP,FTP,mDNS,WebSocket,OSC...
传输层:TCP,UDP
网络层:IP
链路层(也称为网络接口层):Ethernet,WiFi
链路层的主要作用就是实现设备之间的物理连接。
1.链路层:
ESP8266利用WiFi联网是有三种工作模式:接入点模式(AP)、无线终端模式(STA)、混合模式(STA+AP)。
接入点模式(Access Point):ESP8266作为类似主机,其他设备通过WiFi连接到ESP8266,从而实现ESP8266与其他设备的通讯,这种模式表,ESP8266可以建立起一个WiFi网络。其他设备通过搜索附近WiFi,通过密码就可以连接到这个WiFi网络上。
无线终端模式(WiFi Station):ESP8266可以连接到其他的WiFi网络上,类似于手机连接到无线路由器,从而实现两者之间的通讯。
混合模式:ESP8266可以连接到一个无线WiFi网络上,同样的,ESP8266,也可以创建一个WiFi局域网络,其他设备通过密码连接到ESP8266。
2.网络层
IP协议主要为网络设备提供地址功能。
IP地址
互联网的最主要功能就是实现信息传输,而信息在互联网中是被打包成一个个数据包,在设备之间传输,而数据包中必须包含收发双方的地址(类似于快递,需要在发货人地址出获得包裹,得知收件人地址后,才能正确的将包裹发送收件人手中)。而这个数据包所使用的就是IP地址。
IP地址有两个版本:IPv4和IPv6
IPv4
192.168.0.3
由四段10进制数组成,每段都是0~255之间的数,之间用“.”分隔开
IPv6:为更多的网络设备提过独立的IP地址
由8组16进制数组成
2001:db8:1f70:999:de8:7648:3a49:6e8
网关:连接网络与网络之间的关口
而路由器创建的是一个局域网,ESP8266,电脑等连接到路由器之后,会被分配到一个“”“独立”的IP地址,而要通过网关连接大其他服务器或者是万维网上时,会被重新分配IP地址,保证在万维网内的IP地址不会重复。
子网掩码:用来限制IP地址中,那些是属于子网地址,而那些是属于设备自身的地址。
3.传输层:包含TCP和UDP协议
TCP协议:“稳”
*** 保证所有数据都能被接收端接收
1.数据的传输顺序是不会被打乱的
2.传输数据若果有损坏则重发受损数据
TCP应用领域
电子邮件
文件传输
TCP协议的缺点就是由于以稳为主,所以TCP协议的传输速度就不会很快
UDP协议:相比TCP协议“快”
*不能保证所有数据都能被接收端接收
*传输数据一旦损坏,UDP协议将抛弃受损数据
*有数据损坏不会重新发送受损数据
因此,UDP协议应用于对网络传输速率比较高,但是对数据准确性不是那么高的产品
UDP应用领域
在线语音/视频
网游
4.应用层:HTTP协议
类似于一问一答,通过电脑发出访问网站请求,在万维网服务器接受到请求后会发送一个HTTP响应在发送到我的电脑,从而在浏览器上得到需要的网页信息。
HTTP请求
请求行 |
GET / HTTP/1.1 读取 网站首页 协议版本1.1 |
请求头 |
Host:www.taichi-maker.com 请求访问网站首页的信息,且请求使用的HTTP版本号为1.1 User—Agent:Mozilla/5.0(Windows NT 10.0;WOW64) 告诉服务器浏览器版本等信息 Accept:text/html 告诉服务器浏览器支持哪种网络编程语言
Accept—Language:zh-CN,zh,q=0.8
Accept—Encoding:gzip,deflate,sdch 压缩信息格式 Connection:Keep—Alive 继续保持连接 |
POST/HTTP/1.1
Host:www.taichi-maker.com
意思就是向网站服务器的首页发送信息。
HTTP1.0中定义了三种请求方法:GET/POST/HEAD。向下兼容
HTTP1.1中新增了五种请求方法:OPITIONS,PUT,DELETE,TRACE,和CONNECT方法。
HTTP响应
状态行 |
HTTP/1.1 200 OK 版本信息 代码形式表达服务器 接收到请求后的状态 (类似404) HTTP/1.1 404 NOT FOUND |
响应头 |
Data:Fri,22 May 2009 06:07:21 GMT Content-Type: text/html; charset=UTF-8 内容类型: 响应体内容类型 字符集类型 |
响应体 |
<html> <head></head> <body> 欢迎来到太极创客网站 </body> </html> |