1、互联网五层模型
应用层 HTTP FTP //为应用软件提供了不少服务。构建于TCP协议之上。屏蔽网络传输相关细节
传输层 TCP UDP //提供可靠端到端服务。定义传输数据,如何分片,组装。
网络层 //在结点之间传输建立逻辑链路
数据链路层 //在通讯的实体间创建数据链路连接,0101
物理层 //硬件设备,光缆,定义物理设备如何传输数据css
2、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推送到客户端,并行的。】html
3、HTTP的三次握手
http request ---- TCP connection --- 服务器
防止因网络延迟,服务器开启无用连接浏览器
client --> [SYN] Seq = x --> server <-- [SYN ACK] Ack=x+1 Seq=y <-- --> [ACK] Ack=y+1 Seq=z -->
4、URI、URL、RUN
--URI/统一资源标识符 Uniform Resource Identifier
用来标识互联网上的信息资源
--URL/统一资源定位器
ftp:// http:// ftp协议 http协议
http://host.com:80/path?query=string#hash
协议 ip 端口 路由 搜索字段 锚点
--URN/永久统一资源定位符
在资源移动以后还能被找到缓存
5、报文
a 请求报文
b 响应报文服务器
HTTP方法 用来定义对资源的操做 POST、GET、DELETE、UPDATE HTTP CODE 定义服务器对请求的处理结果 各个区间的CODE有各自的语义 100-199 操做持续进行 200-299 成功 300-399 传的对象有问题 400-499 发送的请求有问题,401没有认证 500-599 服务器出现错误