万维网和因特网的区别:

  • 因特网指的是多个网络被连接在一起,重点在于网络连接,是网络层的。
  • 万维网的重点在于资源,由网络站点和网页组成,通过 HTTP 协议构建的,是应用层的。

万维网有三个重要的标准:

  • URL:统一资源定位符
  • HTTP:超文本传输协议
  • HTML:超文本标记语言

HTTP 协议

HTTP 基于有连接的 TCP 协议,但是 HTTP 是无连接
HTTP 被设计来根据 URL 返回资源,其本身是无状态

半连接和长连接是怎么回事?

cookie

HTTP 本身是无状态的,但是通过 cookie 技术可以实现状态机制
cookie 技术的一种使用方法为:

  • 服务器为浏览器设置某个 cookie,并且在数据库中为该 cookie 绑定用户的状态信息
  • 浏览器发送 HTTP 请求时,带上这个 cookie;服务器收到 cookie 后,在数据库中找到用户的状态信息,从而为用户提供个性化的服务

HTTP 的持久连接

HTTP 本身是无连接的,而 TCP 是有连接的。
最早的 HTTP 中,每次请求都要经历「建立连接-请求-响应-断开连接」的过程,

资源访问的过程

以资源 https://www.pixiv.net/artworks/92036049 为例:

  • 浏览器向 DNS 服务器请求 www.pixiv.net 的 IP 地址
  • 浏览器与 www.pixiv.net 建立 TCP 连接
    • 浏览器发出 HTTP 请求: GET /artworks/92036049
    • 服务器响应请求,将对应的网页返回给浏览器
  • 释放 TCP 连接
  • 浏览器解析网页文件,显示网页内容