乐趣区

HTTP协议原理学习笔记

一、互联网五层模型

应用层 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  服务器出现错误





退出移动版