深入http协议原理

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

网络协议分层

经典五层模型

《深入http协议原理》

  • 应用层

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

  • 传输层

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

  • 网络层

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

  • 数据链路层

数据链路层在通信的实体间建立数据链路连接

  • 物理层

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

Http协议发展历史

http/0.9

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

http/1.0

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

http/1.1

  • 持久连接
  • pipeline
  • 增加host和其他一些命令

http2

  • 所有数据以二进制传输
  • 同一个连接里面发送多个请求不再需要按照顺序来
  • 头信息压缩以及推送等提高效率的功能

HTTP的三次握手

《深入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

  • 永久统一资源定位符
  • 在资源移动之后还能被找到
  • 目前还没有非常成熟的使用方案
    原文作者:HTTP
    原文地址: https://segmentfault.com/a/1190000016473981
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞