1.为什么要学习网络协议
只有通过协议,计算机才知道们想让它做
协议三要素
- 语法 一定规格和格式 例如,括号成对,结束使用分号
- 语义 一段内容代表的某种意义 例如,数字减数字有意义,数字减文本一般无意义
- 顺序 任务的先后 没有例如了
这便是和一台计算机的沟通,但只有通过网络协议,才能使得一大片机器协作,完成一件任务。
以浏览器浏览页面为例
1 HTTP/1.1 200 OK 2 Date: Tue, 27 Mar 2018 16:50:26 GMT 3 Content-Type: text/html;charset=UTF-8 4 Content-Language: zh-CN 5 6 <!DOCTYPE html> 7 <html> 8 <head> 9 <base href="https://pages.kaola.com/" /> 10 <meta charset="utf-8"/> <title> 网易考拉 3 周年主会场 </title>
首先是语法,只有按以上格式,浏览器才会认可,整个代码来说,先是状态,接着首部,然后内容。
第二是语义,像200表示页面成功返回
第三,符合顺序,你先点了浏览器,发出了一个HTTP请求,才有了返回的一串HTTP
个人理解的一个网络传输信息的流程图:
通过各个路由转发文件包
网络七层协议,在应用层和传输层之间还有表示层和会话层