我们应该怎么正确看待HTTP协议以及CDN和爬虫充当的角色

一、HTTP是什么:超文本传输协议(HyperText Transfer Protocol)

  1. 协议:首先,HTTP是一个协议,而协议是交流沟通双方保证每次交流能够顺利正确高效的进行而提前商量制定好的规范,或者规则,只要交流双方或者多方遵守该协议,就能保证沟通无误;
  2. 传输:其次,它是用来给通信方之间传输信息的,HTTP是一个双向的协议,可以从A到B,也可以从B到A,并且允许AB之间有“中转”,或者“接力”;
  3. 超文本:最后,超文本指的是我们传输的信息的类型,直译过来就是“超越了普通文本的文本”,它是文字、图片、音频和视频等的混合体,最关键的是含有“超链接”,能够从一个“超文本”跳跃到另一个“超文本”,形成复杂的非线性、网状的结构关系。对于“超文本”,我们最熟悉的就应该是HTML了,它本身只是纯文字文件,但内部用很多标签定义了对图片、音频、视频等的链接,再经过浏览器的解释,呈现在我们面前的就是一个含有多种视听信息的页面;而不是通常意义上TCP/IP传递的二进制包,HTTP传递的是有意义,完整的能被浏览器等上层应用程序处理的数据;
  4. 总结概括:HTTP是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。(不可用于广播)
    是一种无状态,应用层,以请求应答方式运行的协议,使用可扩展的语义和字描述消息格式.
    在这里插入图片描述

二、HTTP不是一个独立的协议:

  • HTTP依赖于它们:是基于TCP/IP的,依靠DNS解析域名,HTTPS更加基于SSL/TLS实现安全通信;
  • 它们依赖于HTPP:WebSocket、HTTPDNS等;

以上协议相互交织,构成一个协议网,其中,我们的HTTP协议处于中心的位置,既依赖其他,又给其他协议提供支持。

三、HTTP相关知识图谱:

在这里插入图片描述
四、程序员眼中的互联网应该是什么样子的:

由许许多多个规模略小的网络连接而 成的,这些“小网络”可能是只有几百台电脑的局域网,可能是有几万、几十万台电脑的广域网,可能是用 电缆、光纤构成的固定网络,也可能是用基站、热点构成的移动网络……

五、普通人离HTTP有多远呢:

  • 互联网的正式名称是Internet,里面存储着无穷无尽的信息资源**,我们通常所说的“上网”实际上访问的只 是互联网的一个子集“万维网”(World Wide Web),它基于HTTP协议**,传输HTML等超文本资源,能力 也就被限制在HTTP协议之内;
  • 互联网上还有许多万维网之外的资源,例如常用的电子邮件、BT和Magnet点对点下载、FTP文件下载、SSH 安全登录、各种即时通信服务等等,它们需要用各自的专有协议来访问。 不过由于HTTP协议非常灵活、易于扩展,而且“超文本”的表述能力很强,所以很多其他原本不属于HTTP 的资源也可以“包装”成HTTP来访问,这就是我们为什么能够总看到各种“网页应用”——例如“微信网 页版”“邮箱网页版”——的原因;
  • 综合起来看,现在的互联网90%以上的部分都被万维网,也就是HTTP所覆盖,所以把互联网约等于万维网 或HTTP应该也不算大错

六、浏览器和web服务器:

  • 浏览器:web browser,直译过来:万维网检索,也就是说帮助我们用户查找万维网中的资源的。实际上就是HTTP的请求方,向服务器请求资源的,又称为用户的代理,帮助用户请求检索资源;
  • 服务器:存放着海量资源和数据的机器,对于大型的服务器,都是以反向代理或者负载均衡等技术组成的集群,外界看来只有一台机器在提供服务。

七、CDN-内容分发网络:(Content Delivery Network)

用户的浏览器一般不会直接连接到服务器上,否则使得服务器负载过高,此时CDN应运而生。

CDN的作用就是将源站的数据进行缓存,使得浏览器不用经过太多复杂的网络连接服务器,而是找到就近存有目标资源的节点,加快浏览器的响应,提高用户的使用体验。

有无CDN时的差距:
在这里插入图片描述
在这里插入图片描述

八、爬虫:

  • 有人说,现代以及未来获取信息的主要手段之一,就是爬虫;
  • 什么是爬虫:实际上是一种可以自动访问web资源的应用程序,它们就像是一只只不知疲倦的、辛勤的蚂蚁,在无边无际的网络上爬来爬去, 不停地在网站间奔走,搜集抓取各种信息。 据估计,互联网上至少有50%的流量都是由爬虫产生的,某些特定领域的比例还会更高,也就是说,如果你 的网站今天的访问量是十万,那么里面至少有五六万是爬虫机器人,而不是真实的用户;(刷访问量,浏览量大概就是它们吧)
  • 反爬虫: 爬虫会过度消耗网络资源,占用服务器和带宽,影响网站对真实数据的分析,甚至导致 敏感信息泄漏。所以,又出现了“反爬虫”技术,通过各种手段来限制爬虫。其中一项就是“君子协 定”robots.txt,约定哪些该爬,哪些不该爬。 无论是“爬虫”还是“反爬虫”,用到的基本技术都是两个,一个是HTTP,另一个就是HTML

九、HTML/Web Service/WAF:

  • HTML: 是HTTP协议传输的主要内容之一,它描述了超文本页面,用各种“标签”定义文字、图片等资源和排 版布局,最终由浏览器“渲染”出可视化页面。 HTML目前有两个主要的标准,HTML4和HTML5。广义上的HTML通常是指HTML、JavaScript、CSS等前端技 术的组合,能够实现比传统静态页面更丰富的动态页面;
  • Web Service: 与Web Server很像,但却是一个完全不同的东西。 Web Service是一种由W3C定义的应用服务开发规范,使用client-server主从架构,通常使用WSDL定义服务 接口,使用HTTP协议传输XML或SOAP消息,也就是说,它是一一个个基基于于WWeebb((HHTTTTPP))的的服服务务架架构构技技术术,既可 以运行在内网,也可以在适当保护后运行在外网;web server是软件服务器,承载应用;web service是一种服务方式;
  • WAF: 意思是“网络应用防火墙”。与硬件“防火墙”类似,它是应用层面的“防火墙”,专门检测HTTP流量,是防护Web应用的安全技术。
    WAF通常位于Web服务器之前,可以阻止如SQL注入、跨站脚本等攻击,目前应用较多的一个开源项目是ModSecurity,它能够完全集成进Apache或Nginx。

参考极客时间<<透视HTTP协议>>

发布了237 篇原创文章 · 获赞 98 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/KingOfMyHeart/article/details/102509747
今日推荐