前言:最近做项目因为HTTP的原因,被老大喷了,被建议看看这个《图解HTTP》这本书,现在沉下心好好读了读,做了笔记分享给同样需要了解HTTP的同学。
1.一张图看看客户端和服务端:
- 看图:
Web使用一种名为:
HTTP (HyperText Transfer Protocol)超文本传输协议作为规范
完成从客户端到服务端等一系列运作流程,而协议是指规则的约定。可以说,Web是建立在HTTP协议上通信的。
1.HTTP的发展史
简单了解
2.网络基础TCP/IP
1.TCP/IP协议族: 计算机与网络设备要相互通信,双方就必须基于相同的方法。
比如: 如何探测到通信目标,由哪一边先发起通信, 使用哪种语言进行通信,怎样结束通信等规则都需要事先确定。 不同的硬件,操作系统之间的通信,所有的这一切都需要一种规则,而我们就把这种规则称为协议(protocol)
这样把与互联网相关联的协议集合起来总称位TCP/IP, HTTP属于其内部的一个子集。
TCP/IP的分层--分层的好处:定义好接口规范后,方便更改和替换每一层对应的功能
TCP/IP通信传输流
图片分析:
一直到应用层,只有传输到了应用层,才算真正收到由客户端发送过来的HTTP请求。
3.与HTTP密切相关的三个协议(IP,TCP,DNS)
- 1.负责传输的IP协议:
按层次分,IP(Interner Protocol)网际协议位于网络层
几乎所有的使用网络的系统都会用到IP协议。 TCP/IP协议族中的IP指的就是网际协议,重要性可见一般
IP和IP地址不要搞混了
IP协议的作用是把各种数据包传送给对方,要确保传送的成功,则需要满足一些条件
其中最重要的两个条件是IP地址和MAC地址(Media Access Control Address)
总之没有人能完全掌握网络通信中的细节,这就好比寄快递一样,寄件人只需要把快件送往寄件处,确认快递公司是否愿意寄送这个快件。 寄件处会根据最终的收货地址找到这个中转站,一步一步转移下去,最终到达收件人手中。
图解:
- 2.确保可靠性的TCP协议
按层次看, TCP位于这个传输层,提供可靠的字节流服务
字节流服务(Byte Stream Sercice) 是指为了方便传输大块数据分割成以报文段(segment)为单位的数据包进行管理
可靠的传输服务是指:能够把数据准确可靠地传给对方
TCP协议为了更容易传送大数据才把数据分割,且TCP能够确认数据是否送达到对方
TCP如何确保数据能达到目标
这就要用到我们常常说的"三次握手"
"三次握手"过程中使用的是TCP的标志:SYN(synchronize)和ACK(acknowledgement)
3.负责域名解析的DNS服务
各种协议与HTTP协议的关系图解
URI 和 URL
URI :统一资源标识符 -- 不熟悉
URL : 统一资源定位符 -- 熟悉:就是这个请求浏览器访问需要用到的这个网页地址
1.解读URI
URI 是 Uniform Resource Identifier 的缩写
URI 用字符串标识某一互联网资源,而URL 表示资源的地点(互联网所处的位置) 可见URL 是 URI 的子集
看看几种URI 的例子:
绝对URI
格式:
名词解释:
RFC 技术标准文档: