首页 > 技术文章 > HTTP世界全览(上):与HTTP相关的各种概念

yeyuting 2021-02-20 16:36 原文

HTTP相关各种概念介绍见如下图,我们将从以下几个大点分别进行学习。下面这些点有一个共同点,都是和HTTP有关系的各项应用技术,偏向于实际应用。着重介绍右边部分,左边部分因为和HTTP核心协议不算太接近,因此就了解即可。

 

 

 一、网络世界

网络世界由大大小小 很多个网络组成,小至几十台机器组成的局域网,大到更多台计算机组成的计算机集群,形成的广域网。因此,互联网世界更像是数不清的大小岛屿组成的千岛之国。互联网正式名字是Internet,里面存储着无穷无尽的信息资源,我们通常所说的“上网”实际上访问的只是互联网的一个子集“万维网”(World Wide Web),它基于HTTP 协议,传输 HTML 等超文本资源,能力也就被限制在 HTTP 协议之内。互联网上还有许多万维网之外的资源,例如常用的电子邮件、BT 和 Magnet 点对点下载、FTP 文件下载、SSH 安全登录、各种即时通信服务等等,它们需要用各自的专有协议来访问。

二、浏览器
上网就要用到浏览器,浏览器的名字叫做“Web Brower” , 顾名思义,就是检索、查看互联网上网页资源的应用程序,名字里的 Web,实际上指的就是“World Wide Web”,也就是万维网。
浏览器本质上是一个 HTTP 协议中的请求方,使用 HTTP 协议获取网络上的各种资源。

三、Web服务器 Web Server

web服务器是响应方,市场上常见的Web服务器并不多,有Apache、Nginx、Tomcat等等。

四、CDN

浏览器和服务器是HTTP协议的两个端点,两者进行通信的时候,浏览器通常不会直接连接到服务器,而是会经过重重关卡,其中一个重要角色就是CDN。CDN,全称是“Content Delivery Network”,翻译过来就是“内容分发网络”。它应用了 HTTP 协议里的缓存和代理技术,代替源站响应客户端的请求。简单来说,如果一个客户端发出请求访问莫服务器,那么数据传输到中途的时候就拿到了响应数据,这样请求就返回了,而不用千里迢迢去到服务器拿到内容再返回,在中途的时候就有CDN,其中缓存了服务器部分数据,使得浏览器请求的数据可以从中拿到,然后就直接返回,提高了信息传输效率。

五、爬虫
前面说到过浏览器,它是一种用户代理,代替我们访问互联网。但 HTTP 协议并没有规定用户代理后面必须是“真正的人类”,它也完全可以是“机器人”,这些“机器人”的正式名称就叫做“爬虫”(Crawler),实际上是一种可以自动访问 Web 资源的应用程序。爬虫绝大多数是由各大搜索引擎“放”出来的,抓取网页存入庞大的数据库,再建立关键字索引,这样我们才能够在搜索引擎中快速地搜索到互联网角落里的页面。 
爬虫也有不好的一面,爬虫会影响网站对真实数据的分析,甚至导致敏感信息泄露。所以就出现了反爬虫技术,出现了君子协定,约定哪些该爬,哪些不该爬。

六、课后作业

1. 你觉得 CDN 在对待浏览器和爬虫时会有差异吗?为什么?
答:不会,因为CD只负责对到来的数据进行分析检索,进而给出响应的内容,返回到客户端呈现在网页上。
2. 你怎么理解 WebService 与 Web Server 这两个非常相似的词?
答:Web Service是Web Server的载体,而Web Server则是一个服务器。
至此,结束。

推荐阅读