深刻http协议原理

对于Web开发者而言,掌握HTTP协议是技术成长的必经之路。只有夯实HTTP基础,才可能在Web这条路上走的更远。缓存

网络协议分层

经典五层模型

图片描述

  • 应用层

为应用软件提供了不少服务
构建于TCP协议之上
屏蔽网络传输相关细节服务器

  • 传输层

向用户提供可靠的端到端(End-to-End)服务
传输层向高层屏蔽了下层数据通讯的细节网络

  • 网络层

网络层为数据在结点之间传输建立逻辑链路spa

  • 数据链路层

数据链路层在通讯的实体间创建数据链路链接code

  • 物理层

物理层主要做用是定义物理设备如何传输数据orm

Http协议发展历史

http/0.9

  • 只有一个命令GET
  • 没有HEADER等描述数据的信息
  • 服务器发送完毕,就关闭TCP链接

http/1.0

  • 增长了不少命令
  • 增长status code和header
  • 多字符集支持、多部分发送、权限、缓存等

http/1.1图片

  • 持久链接
  • pipeline
  • 增长host和其余一些命令

http2

  • 全部数据以二进制传输
  • 同一个链接里面发送多个请求再也不须要按照顺序来
  • 头信息压缩以及推送等提升效率的功能

HTTP的三次握手

图片描述

URI、URL、URN

URI

  • Uniform Resource Identifier/统一资源标志符

URL

  • Uniform Resource Locator/统一资源定位器
  • http://user:pass@host.com:80/path?query=string#hash(此类格式的都叫作URL,好比ftp协议)

URN

  • 永久统一资源定位符
  • 在资源移动以后还能被找到
  • 目前尚未很是成熟的使用方案
相关文章
相关标签/搜索