web 是万维网(World Wide Web)的俗称,是一个框架体系,将分布在全球互联网上的数百万台设备连接起来,供我们访问内容。
Web 由大量分布在全球范围的内容组成,这些内容以网页的形式呈现。每个页面可以包含指向其他页面的链接,这些页面可以分布在全球任何地方。
通常观看页面的程序称为「浏览器」,浏览器取回所请求的页面,对页面内容进行解析,并以适当的格式显示在屏幕上。页面内容本身可能是文本、图像、视频的混合体,用户通过这个界面与网页进行交互。
用户单击一个链接就可以访问到它指向的页面,这个过程可以无限重复下去。一个页面指向另一个页面的概念称为「超文本」。
客户端上的浏览器显示一个网页,每个页面的抓取都是通过发送一个请求到一个或多个服务器,服务器以页面的内容作为响应。
抓取网页所用的「请求 – 响应」协议是一个简单的基于文本的协议,运行在 TCP 之上,这个协议就是超文本传输协议 HTTP,内容可能只是一个磁盘读取一个文档,或者是说数据库查询。
如果每次显示的是相同的文档,那这个网页称为静态页面,如果每次显示的程序是按需产生的内容或者页面本身包含一个程序,这个网页称为动态页面。
每个页面被分配一个统一的资源定位符「URL」,用来有效地充当该页面在全球范围内的名字。
一旦服务器的 IP 地址已知,浏览器会与该服务器的 80 端口建立 TCP 连接,然后发送一条命令,其中包括 URL 的剩余部分和服务器上某个页面的路径,最后服务器返回该页面供浏览器显示。
-
接受来自客户端浏览器的 TCP 链接;
-
获取页面的路径,也就是被请求文件的名字;
-
从磁盘上获取文件;
-
将文件内容发送给客户端;
-
释放这个 TCP 连接。
处理模块首先检查缓存,查看是否有所需文件。如果缓存中存在该文件,则在记录中增加指向该文件的指针,并将文件返回给客户端;
如果缓存中没有该文件,则执行一次磁盘操作,将文件读入缓存。读取完文件后,将其放入缓存并发送给客户端。
例:http://www.cs.washington.edu/index.html
当用户访问这个链接时,浏览器执行一系列的步骤来获取这个链接所指向的网页。
-
-
浏览器请求 DNS 查询服务器 www.cs.washington.edu 的 IP 地址;
-
-
浏览器与 128.208.3.88 服务器 80 端口建立一个 TCP 链接;
-
浏览器发送 HTTP 报文,请求 /index.html 页面;
-
www.cs.washington.edu 服务器返回页面内容作为 HTTP 响应;
-
如果该页面包括其他 URL,那么浏览器经过同样的处理过程,获取其他的 URL 内容,显示到网页上;
-
-
如果短期内没有向同一个服务器发出其他的请求,那么释放 TCP 链接;
内容优化:ChatGPT
图片来源:Pixabay
内容来源:《计算机网络》
原创文章,作者:小道研究,如若转载,请注明出处:https://www.sudun.com/ask/34618.html