万维网和因特网的区别:
- 因特网指的是多个网络被连接在一起,重点在于网络连接,是网络层的。
- 万维网的重点在于资源,由网络站点和网页组成,通过 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
- 服务器响应请求,将对应的网页返回给浏览器
- 浏览器发出 HTTP 请求:
- 释放 TCP 连接
- 浏览器解析网页文件,显示网页内容