http协议:二 (3)与HTTP相关的各种概念

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

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

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

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

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

 

 

你觉得 CDN 在对待浏览器和爬虫时会有差异吗?为什么?

回复:

CDN可以根据User-Agent来判断发起请求的一端是浏览器还是爬虫,对待爬虫可以特殊处理返回特定内容

刚开始觉得应该有区分的,不然反爬虫技术是干什么吃的,后来想想如果不用反爬虫技术的话应该是没差异的,因为CDN的核心工作是把网络的静态资源放的离用户更近一些,加速网络信息的获取速度,那区分是人要的信息还是机器人要的信息意义也不大,关键是我觉得爬虫如果做的好模仿真人来获取信息,那CND也是很难区分的,再者静态资源本来也是公开透明让用户代理来访问的嘛!

区分爬虫这个,完全在于cdn想不想做,因为cdn本质上也是web服务器,如果它认为爬虫影响了服务,就可以反爬虫。如果它决定爬虫也算源站的正常流量,就不反。所以这个问题就是让大家去思考,没有绝对正确的答案。

 

你怎么理解 WebService 与 Web Server 这两个非常相似的词?

回复:
WebService是基于Web(HTTP)的服务器架构技术,基于HTTP协议传输xml或soap数据。WebServer分硬件和软件,硬件指服务器、云之类,软件如Nginx、Apache等

首先,Web Server比较容易理解,就是web服务器,有软的也有硬的,软的特指有程序代码实现,硬的特指有实实在在的硬件机器组成,比如:Apache、nginx、tomcat、jetty等。
web service 直译是web服务,不过这么讲还是比较抽象不知道她是什么玩意?只好找一下,她的定义了。
Web Service 是一种由 W3C 定义的应用服务开发规范,使用 client-server 主从架构,通常使用 WSDL 定义服务接口,使用 HTTP 协议传输 XML 或 SOAP 消息,也就是说,它是一个基于 Web(HTTP)的服务架构技术,既可以运行在内网,也可以在适当保护后运行在外网。
OK,直白来说,web service 是一种开发规范,规范即约定稍微有些强制执行的意味。她和 web Server 完全不是一种类型的东西,她比较虚是一个组织对某些行为的约束,告诉特定的人群,啥事能做,啥事不能做,啥事应该咋做  web service是提供业务应用的软件服务

 

web服务器和web容器区别是什么呢?

回复:

这里首先要理解web,web就是指的http。web server就是提供http服务的server、web service就是运行在http协议上的服务接口规范。
自己写的是tcp server,就不是web server。
service通常是指服务程序,跑在server上,server可以理解成容器、平台。web服务器主要提供静态资源,而web容器可以运行Java、php等程序提供动态服务。

“Web服务器”,也就是说专门提供http服务的服务器软件。

 

可以通过User-Agent来区分爬虫,那他们能假装成浏览器吗?怎么假装成浏览器呢?

回复:

当然可以了,只要把User-Agent的字符串改成浏览器的就可以了,因为单从http报文上是区分不出客户端的。
当然,后台服务器还可以从ip、访问频率等其他方式来判断爬虫,不会仅依赖User-Agent,因为它太容易被伪造了。

 

DN 即内容分发网络,它使用了 HTTP 的缓存和代理技术,代替源站响应用户请求。它可以缓存源站数据,凭借优秀的调度算法,可以找到离用户最近的节点,大幅缩短响应时间;而在现代互联网体系中,CDN 已成为一项重要的基础设施,除了基本的网络加速功能外,还提供负载均衡、安全防护、边缘计算、跨运营商网络等功能,可以成倍放大源站服务器的服务能力

posted @ 2021-08-10 22:01  血染星辰  阅读(81)  评论(0)    收藏  举报