0%

HTTP学习笔记

计算机网络入门
方便自己随时查询
侵删致歉

HTTP 学习笔记

名词解释

  • HTTP
    • HyperText Transfer Protocol 超文本传输协议
  • Web borwser
    • 网页浏览器
  • URL
    +
  • resource
    • 文件资源

http的诞生

  • 1989年3月
    • CERN(欧洲核子研究组织)蒂姆伯纳斯 - 李(Tim Berners-Lee)博士
    • 提出一种能够让远隔两地的研究者们共享知识的设想
      • 果然还是科技是社会前进的动力
      • 为了提高效率想办法,创造方法,使用方法。
      • 避免重复低效率的劳动,这就是大佬的思维吗!

web和http

web成长史

  • 1990年
    • HTTP1.0草案被废弃
    • 10月
      • CERN研发了世界第一个web服务器和web浏览器
  • 1992年9月
  • 1993年
    • 1月
      • 现代浏览器的祖先NCSA(美国国家超级计算机应用中心)
        • Mosaic问世
          • 图像方面表现出色
          • 以in-line(内联)等形式显示HTML的图像,得以流行开来
    • 秋天
      • Mosaic Windows版
      • Mosaic Macintosh版
  • 1994年12月
    • 网景通信公司
      • Netscape Navigator 1.0浏览器
  • 1995年
    • 微软公司
      • IE(Internet Explorer)1.0浏览器
      • IE(Internet Explorer)2.0浏览器
  • 2004年
    • Mozilla基金会
      • Firefox浏览器
  • 值得一提的是
    • 自1995年起微软与网景争相给浏览器扩展以占据更大的市场
      • 出现没有按照web标准
      • 新增功能没有说明文档
      • 前端工程师们得去兼容这两家浏览器
    • 2000年前后,网景公司衰落,大战告一段落
    • 2004年后第二次浏览器大战随即爆发
  • IE 6-7花费了5年 之后不断发布8-9-10
    • 最终升级成Edge浏览器

http驻足不前

  • http/0.9
    • 1990年问世。
      • 没有作为正式的标准,因此称为0.9
  • http/1.0
    • 1996年5月公布
      • 正式公布并记载于RFC2616
      • 至今仍然活跃在服务器端
  • http/1.1
    • 1997年公布
      • 记载于RFC2068,之后修订版是RFC2616
      • 是目前最主流的
  • http/2.0
    • 正在制定中
      • 由于http协议非常简单,有很多应用方法,http已经超出web框架,活跃在各个场景里。

网络基础TCP/IP

TCP/IP的作用

  • 计算机与网络设备要相互通信,必须基于相同的方法。TCP/IP规范了这种方法
    • 如何找到通信目标
    • 谁先发起通信
    • 使用什么语言
    • 怎样结束
    • 不同硬件,不同操作系统该如何通信

TCP/IP的分层

  • 最重要的
  • 为什么分层?
    • 某个地方需要改变设计是,把要变动的层替换掉即可。
    • 把各层之间的接口部分规划好之后,每个层内部的设计可以自由改动。
    • 设计简单了,每层只需要考虑自己的部分。
  • 自上而下分为4层
    • 应用层
      • 决定了向用户提供应用服务时通信的活动
      • 预存了各类通用的应用服务
        • ftp
        • dns
        • http协议也在该层
    • 传输层
      • 提供处于网络连接中的两台计算机之间的数据传输
      • 不同性质的两个协议
        • tcp传输控制协议
        • udp用户数据协议
    • 网络层(网络互联层)
      • 用来处理在网络上流动的数据包(网络传输的最小数据单位)
      • 规定了通过怎样的路径来到达目标的计算机并把数据包传送给对方
      • 简单来说,网络层的作用就是在众多路线中选择一条传输路线
    • 链路层
      • 用来处理网络的硬件部分
        • 控制操作系统
        • 硬件的设备驱动
        • NIC(网络适配器即网卡)
        • 光纤
        • 物理可见部分

TCP/IP通信传输流

  • 思考合适的图片中

与HTTP关系密切的协议:IP、TCP、DNS

IP负责传输

  • 处于网络层,几乎所有使用网络的系统都会用到IP协议。
    • ip地址 不等于 IP协议
  • 把各种数据包传送给对方,并指明了节点被分配到的地址。
    • 两个重要的条件
      • ip地址
        • 可以变换
      • MAC地址
        • 基本不会变
  • 使用ARP协议凭借MAC地址进行通信
    • 往往通信双方不在一个局域网内,需要经过多个网络设备中转才能链接
    • APR协议就是一种用以解析地址的协议,根据ip地址反查对应的MAC地址
  • 路由选择
    • 在到达通信目标奇拿的中转过程中,那些计算机共和路由器等用来中转的网络设备只能获取很粗略的传输路线。
    • 无论哪台计算机,哪台网络设备,都无法全面掌握互联网中的细节。

TCP负责可靠性

  • 处于传输层,提供可靠的字节流服务
  • 为了准确无误的将数据送达目标处,TCP采用三次握手策略。
    • 三次握手
      • 发送端先发送一个带有SYN标志的数据包给对方。
      • 接受端收到后回传一个带有SYN/ACK标志的数据包确认信息。
      • 最后发送端再回传一个带ACK标志的数据包。
    • 握手结束
  • 还有其他手段来保证通信的可靠性

DNS负责域名解析服务

  • 位于应用层
  • 提供域名到ip地址之间的解析服务。(双向)
  • 计算机可以有ip地址也可以有主机名或域名
    • 用户通常用主机名或域名来访问对方计算机,ip地址纯数字,不方便记忆
    • 计算机通常用ip地址来访问,主机名和域名理解困难,计算机擅长处理长串数字。

各种协议与HTTP协议的关系

  • 思考合适的图片中

URI和URL

URI(统一资源标识符)
URL(统一资源定位符)如:网页地址

统一资源标识符

URI是Uniform Resource Identifier 的缩写。

  • RFC2396对此的定义为
    • Uniform 规定统一的格式可方便处理多种不同类型的资源。新增协议也更容易。
    • Resource “可以标识的任何东西”。不仅是文档文件,图像或服务等,能够区别于其他类型的,全都可以作为资源。不仅可以是单一的,也可以是集合体。
    • Identifier 可标识的对象,也成为标识符
  • 标准的URI协议有30种左右,由ICANN管理颁布
  • RFC3896 URI通用语法

URI格式

  • 绝对URI
  • 绝对URL
  • 相对URL