03 | HTTP世界全览(上):与HTTP相关的各种概念
03 | HTTP世界全览(上):与HTTP相关的各种概念
讲述:Chrono
时长10:47大小12.34M
网络世界
浏览器
Web 服务器
CDN
爬虫
HTML/WebService/WAF
小结
课下作业
赞 62
提建议
精选留言(86)
- 蚂蚁内推+v2019-06-051. CDN 应当是不区分的,因为爬虫本身也是对 Web 资源的访问,且对于爬虫识别并不是 100% 准确的,因此 CDN 只会去计算实际使用了多少资源而不管其中多少来自爬虫; 2. 个人理解,Web Service 是网络服务实体,而 Web Server 是网络服务器,后者的存在是为了承载前者。
作者回复: √
78 - Amark2019-06-03老师,能不能通俗地讲讲RPC, SOAP, restful,之间的区别
作者回复: 这个话题比较大。rpc就是把网络通信封装成了函数调用的形式,所以叫rpc。soap是web service的消息格式。RESTful是一种web服务接口的设计理念。 这三章都是与应用服务有关,但领域不同。
共 2 条评论35 - 飒~2019-06-12老师 ,暗网是如何规避搜索引擎的爬虫的,它又是怎么被人访问的呢
作者回复: 这个问题比较高端,有其他知道的同学吗?
共 6 条评论30 - Vickey Cheung2019-09-09老师,web服务器和web容器区别是什么呢?
作者回复: web服务器主要提供静态资源,而web容器可以运行Java、php等程序提供动态服务。
22 - 钱2020-03-23首先,非常喜欢这种评论多,互动多的专栏,好像买一赠一,感觉赚啦!有时有些疑惑看完评论就想明白了,这也是我判断一个专栏优质与否的标准之一,老师的专栏很棒,点赞! 1:你觉得 CDN 在对待浏览器和爬虫时会有差异吗?为什么? 刚开始觉得应该有区分的,不然反爬虫技术是干什么吃的,后来想想如果不用反爬虫技术的话应该是没差异的,因为CDN的核心工作是把网络的静态资源放的离用户更近一些,加速网络信息的获取速度,那区分是人要的信息还是机器人要的信息意义也不大,关键是我觉得爬虫如果做的好模仿真人来获取信息,那CND也是很难区分的,再者静态资源本来也是公开透明让用户代理来访问的嘛! 2:你怎么理解 WebService 与 Web Server 这两个非常相似的词? 首先,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 完全不是一种类型的东西,她比较虚是一个组织对某些行为的约束,告诉特定的人群,啥事能做?啥事不能做?啥事应该咋做?展开
作者回复: 回答的非常好,态度认真。 1.感谢支持。 2.区分爬虫这个,完全在于cdn想不想做,因为cdn本质上也是web服务器,如果它认为爬虫影响了服务,就可以反爬虫。如果它决定爬虫也算源站的正常流量,就不反。所以这个问题就是让大家去思考,没有绝对正确的答案。 3.说的很清楚,有自己的思考就是好事。。
19 - redrain2019-06-03有些网站全新上线的,没有外链,也没特意提交过,为什么也会有爬虫经过呢,入口在哪里
作者回复: 这可能是从dns域名服务商那里获取了你的网站。
18 - lfn2019-06-04不是很理解web server和web service的区别。难道我们的服务不用nginx就不能用了么?我自己写个tcp server, 根据用户请求调用特定的handler返回数据,那我自己就是个server啊,也是service.老师能不能更清晰地定义下server.习惯了tcp编程的概念,这里的server就显得怪怪的,给人一种router的感觉.
作者回复: 这里首先要理解web,web就是指的http。web server就是提供http服务的server、web service就是运行在http协议上的服务接口规范。 自己写的是tcp server,就不是web server。 service通常是指服务程序,跑在server上,server可以理解成容器、平台。
15 - 耿斌2019-06-061. CDN可以根据User-Agent来判断发起请求的一端是浏览器还是爬虫,对待爬虫可以特殊处理返回特定内容 2. WebService是基于Web(HTTP)的服务器架构技术,基于HTTP协议传输xml或soap数据。WebServer分硬件和软件,硬件指服务器、云之类,软件如Nginx、Apache等
作者回复: √
共 4 条评论13 - 永钱2019-06-03老师把tomcat放在web服务器中比较,说速度慢,不公平呀
作者回复: 抱歉啦,的确,tomcat应该是web容器。
10 - 刘志兵2019-08-02老师,服务器只有这么少的几个吗,有一些grpc 服务算服务器吗,finagle, grpc等,还有spring不是也可以提供服务吗
作者回复: 里面说的特指的是“Web服务器”,也就是说专门提供http服务的服务器软件。 其他的像tomcat、netty等虽然也有http服务,但不是专门做这个的,http只是“副业”,功能远不如专业的Apache、Nginx强大。 grpc属于服务开发框架,用的是基于http/2的grpc协议。
8 - patsun2019-06-031.CDN在对待浏览器和爬虫时没有差异,因为如果没有验证码或者其他验证方式区分的话,浏览器和爬虫都被视为User Agent(客户代理) 2.Webservice是服务,Web Server是服务器
作者回复: ✅
8 - 朤..2020-03-09爬虫作为机器人,承载他的物理容器是什么?那为啥这个就不能作为一个真实的用户去访问数据?
作者回复: 机器人不一定要有物理实体,爬虫其实是一个程序,访问网站抓取内容。 爬虫运行在一台机器上,由于是自动的,不代表真实的用户意志,对于网站来说就没有价值,你不可能让爬虫去买东西、看广告。
4 - 欢乐的小马驹2020-02-24老师,你说可以通过User-Agent来区分爬虫,那他们能假装成浏览器吗?怎么假装成浏览器呢?
作者回复: 当然可以了,只要把User-Agent的字符串改成浏览器的就可以了,因为单从http报文上是区分不出客户端的。 当然,后台服务器还可以从ip、访问频率等其他方式来判断爬虫,不会仅依赖User-Agent,因为它太容易被伪造了。
共 2 条评论4 - 少即是多2020-11-021. 你觉得 CDN 在对待浏览器和爬虫时会有差异吗?为什么?你怎么理解? CDN不会管是谁访问自己,本质上它只是一种提供资源加速服务的方式。 如果需要针对爬虫做搜索引擎优化,服务端可以根据User-Agent来判断发起请求的一端是浏览器还是爬虫,对待爬虫可以专门的服务端渲染等。 2. WebService 与 Web Server 这两个非常相似的词? 一个是服务,一个是服务运行环境展开
作者回复: 说的很好。
共 2 条评论3 - 壹笙☞漂泊2019-06-031、应该不会有差异,因为爬虫主要就是无限模仿浏览器行为 2、Web Server 是服务器,Web Service 是一种应用服务开发规范
作者回复: √
3 - 不靠谱~2019-06-031.不是太清楚,个人认为不会区别对待,因为在正常程序应用来说,看不出是谁发起的请求。 2.web server是软件服务器,承载应用。 web service是一种服务方式。
作者回复: √
3 - ly2019-08-03老师,我看了您对某位童鞋的评论说tomcat、netty只是http的“副业”,但是我对这2个中间件的了解,它们两个就是用来处理客户端的http请求的呀,我不是很明白您这里的“副业”是什么含义呢?难道这2个中间件有其他除http额外的协议吗? 请老师解答疑惑!!!
作者回复: tomcat、jetty这些服务器主要的功能是“服务容器”,使用Java编写各种应用服务,http不是主要的功能。 而Apache、Nginx的主要功能就是提供http服务。 它们的主攻方向不同,所以在http方面就有强有弱,比如tomcat就很难为上万的用户提供并发服务。
共 2 条评论2 - -W.LI-2019-06-03第一个有差别,因为有烦爬虫技术 第二个:web server 。web服务提供者,web服务器。web应用程序。 web service。。。。不知道了
作者回复: 这个具体还要看cdn的策略,如果配置了反爬虫就会区别对待。
共 3 条评论2 - Berry He2019-06-03第一个不太清楚,不敢妄加评论。 第二个:web server和web service是两个概念,前者是web服务器,像iis apache nginx这种。web service他只是一个或多个提供web请求响应的api,用来获取或提交更新web server资源的
作者回复: 最后一句话不太准确,web service是应用服务,它的客户端不一定是web service。
2 - 张烨2022-05-261、CDN应该不会去区分用户和爬虫,但对于过度消耗资源的用户(疑似爬虫)可能会有别的方式例如WAF对它进行拦截和限制。 2、Web Service是服务,Web Server是服务器,并不是完全相等的概念,但是它们之间的关联很紧密,因为服务器为用户提供服务,服务器是现实载体、服务是虚拟功能。
作者回复: great
1