写在前面
本文看下网络协议相关基础内容。
1:为什么要有网络协议
为了实现世界各地的不同主机的互联互通。
2:协议的三要素
协议存在的目的就是立规矩
,无规矩不成方圆嘛!但是这个规矩也不是想怎么立就怎么立的,也要有一定的套路
,协议的套路就是:
- 语法
就是数据的结构,格式,这样才能解析(其实就是定义各种分隔符)
。比如编程语言的大括号包裹一块代码,分号作为结束符。比如http协议的请求头,请求体。 - 语义
就是内容表达的具体含义。比如http协议的200状态码就代表请求成功。 - 顺序
就是先干嘛,后干嘛。比如tcp三次握手就是有顺序的。
3:实例说明
3.1:编程语言
编程语言其实也是一种协议,不给过它是给编译器使用的,结合语法三要素分析如下:
语法:
括号包裹代码块,分号作为结束符等。
语义:
-代表减去一个数,>代表向右移位等。
顺序:
先执行代码A在执行代码B。
这个协议是给谁用的呢?给编译器,所以编译器会根据协议来进行语法分析,语义分析等,最终生成计算机可以识别的内容,如下:
3.2:http请求
http协议是我们日常工作中最常用到的一种网络协议了,所以这里以其作为例子来看下。
语法:
比如分为请求行,请求头,请求体等
语义:
200就是成功,404就是找不到啦
顺序:
先request,后response