TCP/IP协议族;
网络传输基础模型;
HTTP是什么;
URI。
疑问:
1、为什么说,与其把HTTP翻译为“超文本传输协议”,不如翻译为“超文本转移协议”?
答:负责传输的是传输层,HTTP协议本质上处理客户端“诉求”的状态转移。
2、什么是HTTP?为什么要有HTTP?
答:HTTP协议用于将用户诉求在“传输状态”和“诉求本体”间做主状态转换,方便下层进行数据传输。
3、TCP/IP协议也好,HTTP协议也好,都是看不见摸不着的东西?有什么具象化的体现?
答:HTTP协议的体现详见第二章疑问。
心得
所谓浏览网页,其实和寄信收信差不多:我写了封信给好友,问他借本书看看,我的信通过邮局辗转多地到了我的好友手上,我的好友根据一系列条件判断是否应该借书给我,并将结果(借/不借)通过邮局再次辗转多地传递给我。
WWW(World Wide Web)
HTML
什么是HTML?HTML可以看做是一种世界统一的浏览器语言。世界各地的人要交流,需要一种统一的“语言”规范,(以便解析),所以需要一套统一的文档结构——HTML超文本标记语言。
协议
什么是协议?协议是“我”、“邮局”、“我的老友”的通信规则:
网络基础TPC/IP
什么是TCP/IP?
- HTTP是TCP/IP的子集。
- 网络是在TCP/IP协议族的基础上运作的。
TCP/IP协议族里包含着格式各样的内容(找找HTTP在哪)
TCP/IP分层管理
因为TCP/IP有着各式各样的内容,全放在一起修改想想就麻烦,有一句老话叫“牵一发动全身”。传统印刷术刻坏一个字就要整篇推翻从来,而活字印刷术可以自由排列。同理,TCP/IP需要分层管理,才有组织有纪律。
应用层
- 直接关系用户(原文:决定了向用户提供服务时通信的活动)。
- HTTP处于该层。
- 这次写信是想让你借我看你收藏的孤本复印件,请寄到XX市,XX街道,XX小区,谢谢。
- 这次回信是告诉你没问题,借你看,孤本如下:balabalabala
- 传输层
- 为应用层服务
- 为“我”和“我的老友”提供数据传输,有点像“邮局”的职责——确保信能送到,负责数据解析(信太长了我给你分一分)与数据传递状态确认(信寄到了么?没寄到?重寄!)。
- 有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议)、 UDP(User Data Protocol,用户数据报 协议)
- 网络层
- 处理网络上流动的数据包
- 规定了传输路径
- 规定信的轨迹,这堆从苏州寄到北京要路过扬州,那堆从四川寄到南京去要从广州中转。
- 链路层
可以看到信件在发送端,每经过一层就会封装一层;在接收端,每经过一层就会解封一层。
从而分析出一种模式:下层为上层提供服务、上层为下层提供接口。
下层将信息解封为上层的模式给上层,提供了服务;上层将信息封装一层给下层,提供了接口。
IP、TCP、DNS
这3个协议与HTTP密不可分
1、IP:IP(Internet Protocol)网际协议位于网络层。负责运输和路由中转。
2、TCP:位于传输层,提供可靠的字节流服务,包含:
- 分割大块数据为报文段
- 确保数据能到达目标(如三次握手策略)
3、DNS(Domain Name System)域名解析服务,位于应用层,提供域名到IP地址之间的解析服务。
各种协议与HTTP的关系
最后回过来看HTTP协议
什么是HTTP协议?HTTP协议可以将客户端诉求、服务器响应转换为HTTP报文,本质上是请求数据/响应数据的实现——将数据按照协议转为大家都理解的语言。