浏览器
一个HTTP协议的请求方,使用HTTP协议获取网络上的各种资源。
Web服务器
HTTP协议的应答方,提供Web服务的,它是HTTP协议里响应请求的主体。
硬件,就是物理形式或“云”形式的机器,在大多数情况下它可能不是一台服务器,而是利用反向代理、负载均衡等技术组成的庞大集群。
软件含义的Web服务器可能我们更为关心,它就是提供Web服务的应用程序,通过会运行在硬件含义的服务器上。像Tomcat、Node.js、Apache、Nginx、IIS、Jetty等等。
CDN
CDN,全称是“Content Delivery Network”,翻译过来就是“内容分发网络”。它应用了HTTP协议里的缓存和代理技术,代替源站响应客户端的请求。
CDN的好处,就是可以缓存源站的数据,让浏览器的请求不用“千里迢迢”地到达源站服务器,直接在“半路”就可以获取响应。如果CDN的调度算法很优秀,更可以找到离用户最近的节点,大幅缩短响应时间。
爬虫
前面说到过浏览器,它是一种用户代理,代替我们访问互联网。
但HTTP协议并没有规定用户代理后面必须是“真正的人类”,它也完全可以是“机器人”,这些“机器人”的正式名称就叫做“爬虫”(Crawler),实际上是一种可以自动访问Web资源的应用程序。
爬虫是怎么来的?
绝大多数是由各大搜索引擎“放”出来的,抓取网页存入庞大的数据库,再建立关键字索引,这样我们才能够在搜索引擎中快速地搜索到互联网角落里的页面。
爬虫也有不好的一面,它会过度消耗网络资源 ,占用服务器的带宽,所以就有一项“君子协定”robots.txt,约定哪些该爬,哪些不该爬。
小结
- 互联网上绝大部分资源都使用HTTP协议传输;
- 浏览器是HTTP协议里的请求方,即User Agent;
- 服务器是HTTP协议里的应答方,常用的有Apache和Nginx;
- CDN位于浏览器和服务器之间,主要起到缓存加速的作用;
- 爬虫是另一类User Agent,是自动访问网络资源的程序。