网络世界

1、通常所说的“上网”实际上访问的只是互联网的一个子集“​​万维网​​”(World Wide Web)

World Wide Web 它基于 HTTP 协议,传输 HTML 等超文本资源,能力也就被限制在 HTTP 协议之内。

2、互联网上还有许多万维网之外的资源

例如常用的电子邮件、BT 和 Magnet 点对点下载、FTP 文件下载、SSH 安全登录、各种即时通信服务等等,它们需要用各自的专有协议来访问。

浏览器

浏览器的正式名字叫“​​Web Browser​​”,顾名思义,就是检索、查看互联网上网页资源的应用程序

与HTTP相关的各种概念_服务器

Chrome、Firefox、Safari、IE、Edge、Opera。。。

浏览器本质上是一个 HTTP 协议中的​​请求方​​,使用 HTTP 协议获取网络上的各种资源。集成了很多额外的功能

比如:HTML 排版引擎用来展示页面,JavaScript 引擎用来实现动态化效果,甚至还有开发者工具用来调试网页,等等插件和扩展。

在 HTTP 协议里,浏览器的角色被称为“​​User Agent​​​”即“​​用户代理​​​”,作为访问者的“​​代理​​”来发起 HTTP 请求。

Web 服务器

浏览器是 HTTP 里的​​请求方​​​,另一端的​​应答方(响应方)​​​就是​​服务器​​​,​​Web Server​​。

Web 服务器两个层面的含义:

硬件含义:物理形式或“云”形式的机器

软件含义:提供 Web 服务的应用程序

​Apache​​​、​​Nginx​​、Windows 上的 IIS、Java 的 Jetty/Tomcat 等

CDN

CDN,全称​​Content Delivery Network​​​(​​内容分发网络​​)。应用了 HTTP 协议里的缓存和代理技术,代替源站响应客户端的请求。

好处:它可以缓存源站的数据。如果 CDN 的调度算法很优秀,更可以找到离用户最近的节点,大幅度缩短响应时间。

其他:CDN 除了基本的​​网络加速​​​外,还提供​​负载均衡​​​、​​安全防护​​​、​​边缘计算​​​、​​跨运营商网络​​等功能

爬虫

“​​爬虫​​​”(Crawler),实际上是一种可以​​自动访问 Web 资源​​的应用程序。

1、来源:绝大多数​​爬虫​​是由各大搜索引擎“放”出来的,抓取网页存入庞大的数据库,再建立关键字索引,这样我们才能够在搜索引擎中快速地搜索到互联网角落里的页面。

2、爬虫坏处:它会过度消耗网络资源,占用服务器和带宽,影响网站对真实数据的分析,甚至导致敏感信息泄漏。

3、“君子协定”:​​robots.txt​​约定哪些该爬,哪些不该爬。

4、基本技术:无论是“​​爬虫​​​”还是“​​反爬虫​​​”,用到的基本技术都是两个,一个是 ​​HTTP​​​,另一个就是 ​​HTML​​。

HTML/WebService/WAF

1、HTML 是 HTTP 协议传输的主要内容之一,它描述了超文本页面,用各种“标签”定义文字、图片等资源和排版布局,最终由浏览器“渲染”出可视化页面。

2、Web Service:是一种由 ​​W3C​​​ 定义的应用服务开发规范,使用 ​​client-server​​​ 主从架构,通常使用 ​​WSDL​​​ 定义服务接口,使用 ​​HTTP​​​ 协议传输 ​​XML​​​ 或 ​​SOAP​​​ 消息,也就是说,它是一个基于 Web(HTTP)的​​服务架构技术​​,既可以运行在内网,也可以在适当保护后运行在外网。

3、WAF:是“​​网络应用防火墙​​​”。与硬件“​​防火墙​​​”类似,它是应用层面的“防火墙”,​​专门检测 HTTP 流量​​,是防护 Web 应用的安全技术。

WAF 通常位于 Web 服务器之前,可以阻止如 ​​SQL 注入​​​、​​跨站脚本​​​等攻击,目前应用较多的一个开源项目是 ​​ModSecurity​​,它能够完全集成进 Apache 或 Nginx。

要点小结

1、互联网上绝大部分资源都使用 HTTP 协议传输

2、浏览器是 HTTP 协议里的请求方,即 User Agent

3、服务器是 HTTP 协议里的应答方,常用的有 Apache 和 Nginx

4、CDN 位于浏览器和服务器之间,主要起到缓存加速的作用

5、爬虫是另一类 User Agent,是自动访问网络资源的程序