一、互联网五层模型
应用层 HTTP FTP //为应用软件提供了很多服务。构建于TCP协议之上。屏蔽网络传输相关细节
传输层 TCP UDP //提供可靠端到端服务。定义传输数据,如何分片,组装。
网络层 //在结点之间传输创建逻辑链路
数据链路层 //在通信的实体间建立数据链路链接,0101
物理层 //硬件设备,光缆,定义物理设备如何传输数据
二、HTTP协议发展史
0.9版本只有一个GET命令
没有HEADER等描述数据的信息
服务器发送完毕,就关闭TCP链接。【一个TCP链接,可以发送很多HTTP请求】
1.0版本增加命令
增加status code 和 header
多字符集支持,多部分发送,权限,缓存
1.1版本
持久链接,TCP链接,可以发送多个请求
pipeline
增加host和其它一些命令,本地物理服务器跑多个服务
2版本
所有数据以二进制传输
同一个链接发送多个请求,不再按照顺序
头信息压缩以及推送等提高效率的功能。
【请求html文本,浏览器解析,再请求css和js。版本2推送功能,请求html同时,将引用的css和js推送到客户端,并行的。】
三、HTTP的三次握手
http request ---- TCP connection --- 服务器
防止因网络延迟,服务器开启无用链接
client --> [SYN] Seq = x --> server
<-- [SYN ACK] Ack=x+1 Seq=y <--
--> [ACK] Ack=y+1 Seq=z -->
四、URI、URL、RUN
--URI/统一资源标识符 Uniform Resource Identifier
用来标识互联网上的信息资源
--URL/统一资源定位器
ftp:// http:// ftp协议 http协议
http://host.com:80/path?query=string#hash
协议 ip 端口 路由 搜索字段 锚点
--URN/永久统一资源定位符
在资源移动之后还能被找到
五、报文
a 请求报文
b 响应报文
HTTP方法
用来定义对资源的操作 POST、GET、DELETE、UPDATE
HTTP CODE
定义服务器对请求的处理结果
各个区间的CODE有各自的语义
100-199 操作持续进行
200-299 成功
300-399 传的对象有问题
400-499 发送的请求有问题,401没有认证
500-599 服务器出现错误
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。