集成点:网关、隧道及中继

网关

网关(gateway): 资源和应用程序之间的粘合剂。应用程序可以(通过HTTP或其它已定义的接口)请求网关来处理某条请求,网关可以提供一条响应。网关可以向数据库发送查询语句,或者生成动态的内容,像一扇门一样,进去一个请求,出来一个响应。

客户端和服务器端网关:

  • Web网关在一侧使用HTTP协议,在另一侧使用另一种协议;可以用一个斜杠来分隔客户端和服务器端协议,并以此对网关进行描述;
  • <客户端协议> / <服务器端协议>
  • 客户端网关:(client – side gateway)通过其它协议与客户端对话,通过HTTP与服务器通信;
  • 服务器端网关 (server – side gateway) 通过HTTP与客户端对话,通过其它协议与服务器通信;

通用网关接口:

通用网关接口(common gateway interface CGI): CGI是一个标准接口集,Web服务器可以用它来装载程序以响应。对特定URL的HTTP请求,并收集程序的输出数据,将其放在HTTP响应中回送。

隧道:

Web隧道 允许用户通过HTTP连接发送非HTTP流量,这样就可以在HTTP附带其它协议数据,也就是说,可以在HTTP连接中嵌入非HTTP流量,非HTTP流量就可以穿过只允许Web流量通过的防火墙了。

Web机器人

Web机器人 是能够在无需人类干预的情况下自动进行一系列 Web事物处理的软件程序。很多机器人会从一个Web站点逛到另一个Web站点,获取内容,跟踪超链接,并对它们找到的数据进行处理。如果一个Web站点有 robots.txt文件,那么在访问这个Web站点上的任意URL之前,机器人都必须去获取它并对其进行处理。由主机名和端口号定义的整个Web站点仅有一个 robots.txt资源。如果站点是虚拟主机,每个虚拟的docroot都可以有一个 robots.txt文件

获取robots.txt

机器人会用HTTP的GET方法来获取robots.txt资源,就像获取Web服务器上所有其他资源一样,机器人应该在 From首部User-Agent首部 中传输标识信息,以帮助站点管理员对机器人的访问进行跟踪。

# 例子:
GET / robots.txt HTTP / 1.0
HOST:www.example.com
User-Agent:Slurp / 2.0
Date:Web Oct 3 23:30:EST

响应码和状态码:

机器人会根据对robots.txt检索结果采取不同方案。

  • 2xx:机器人对内容进行解析,并使用排斥规则从那个站点上获取内容;
  • 404:机器人认为服务器没有任何排斥规则,对次站点的访问不受robots.txt限制;
  • 401 / 403:机器人认为对此站点访问完全受限;
  • 503:机器人会推迟对此站点的访问,知道可以获取资源为止;
  • 3xx:如果服务器相应说明是重定向,机器人就应该跟着重定向,直到找到资源为止;

robots.txt文件格式:

文件中有三种类型行:空行、注释行和规则行。

  • User - Agent:Slurp 允许机器人Slurp访问;
  • User - Agent:Webcrawler 允许机器人Webcrawler访问;
  • DisAllow: / private 访问除了private子目录;
  • DisAllow: 阻止其它机器人访问该站点任何内容
#
# 例子:robots.txt for Discuz! X3
#
User-agent: *
Disallow: /api/
Disallow: /data/
Disallow: /source/
Disallow: /install/
Disallow: /template/
Disallow: /config/
Disallow: /uc_client/
Disallow: /uc_server/
Disallow: /static/
Disallow: /admin.php
Disallow: /search.php
Disallow: /member.php
Disallow: /api.php
Disallow: /misc.php
Disallow: /connect.php
Disallow: /forum.php?mod=redirect*
Disallow: /forum.php?mod=post*
Disallow: /home.php?mod=spacecp*
Disallow: /userapp.php?mod=app&*
Disallow: /*?mod=misc*
Disallow: /*?mod=attachment*
Disallow: /*mobile=yes*

机器人的META标签:

NOINDEX:告诉机器人不要对页面的内容进行处理;

<META NAME = "ROBOTS" CONTENT = "NOINDEX">

NOFOLLOW:告诉机器人不要爬行这个页面的任务外链;

<META NAME = "ROBOTS" COMEN = "NOFOLLOW">

### 图灵图书 -- HTTP权威指南

豆瓣读书 -- HTTP权威指南

《HTTP权威指南》– 8.网关、Web机器人的更多相关文章

  1. 【读书笔记】《HTTP权威指南》:Web Robots

    一.概述 Web机器人(Web Robots)是一种Web客户端的软件程序,它自动发起一系列的Web事务,从而在没有人工参与的状态下完成各种Web数据的搜集和处理. 典型的Web机器人有: 股票绘图机 ...

  2. HTTP权威协议笔记-9.Web机器人

    经过整个春节的放肆,终于回归了,说实话,春节真心比上班累. 9.1 爬虫及爬行方式 (1) 爬虫:Web爬虫是一种机器人,他们会递归性的对各种信息Web站点进行遍历. (2) 爬行方式:Web机器人会 ...

  3. 【读书笔记】《HTTP权威指南》:Web Hosting

    一.概述 从零开始构建一个真正意义的网站需要做很多事情,包括购买计算机硬件.建造机房.注册域名.购买网络带宽.开发Web服务器软件.管理网站内容等等.在互联网发展的早期,构建网站的这一系列动作通常都是 ...

  4. 《Web性能权威指南》

    <Web性能权威指南> 基本信息 原书名:High performance browser networking 原出版社: O'Reilly Media 作者: (加)Ilya Grig ...

  5. 经典的性能优化最佳实践 web性能权威指南 读书笔记

    web性能权威指南 page 203 经典的性能优化最佳实践 无论什么网络,也不管所用网络协议是什么版本,所有应用都应该致力于消除或减 少不必要的网络延迟,将需要传输的数据压缩至最少.这两条标准是经典 ...

  6. web性能权威指南(High Performance Browser Networking)

    web性能权威指南(High Performance Browser Networking) https://www.cnblogs.com/qcloud1001/p/9663524.html HTT ...

  7. Web性能权威指南 PDF扫描版​

    Web性能权威指南是谷歌公司高性能团队核心成员的权威之作,堪称实战经验与规范解读完美结合的产物.<Web性能权威指南>目标是涵盖Web开发者技术体系中应该掌握的所有网络及性能优化知识.全书 ...

  8. HTTP第八、九章之网关、隧道、web机器人

    网关 网关(gateway): 资源和应用程序之间的粘合剂.应用程序可以(通过HTTP或其它已定义的接口)请求网关来处理某条请求,网关可以提供一条响应.网关可以向数据库发送查询语句,或者生成动态的内容 ...

  9. 【Web性能权威指南】 PDF

    Web性能权威指南.pdf 网盘:https://545c.com/file/24657411-424998805     获取码:276922

  10. HTTP 1.x 学习笔记 —— Web 性能权威指南

    HTTP 1.0的优化策略非常简单,就一句话:升级到HTTP 1.1.完了! 改进HTTP的性能是HTTP 1.1工作组的一个重要目标,后来这个版本也引入了大量增强性能的重要特性,其中一些大家比较熟知 ...

随机推荐

  1. [题解] LOJ 3300 洛谷 P6620 [省选联考 2020 A 卷] 组合数问题 数学,第二类斯特林数,下降幂

    题目 题目里要求的是: \[\sum_{k=0}^n f(k) \times X^k \times \binom nk \] 这里面出现了给定的多项式,还有组合数,这种题目的套路就是先把给定的普通多项 ...

  2. PHP全栈开发(七):PHP与MySQL存储交互(1.连接、创建数据库;创建数据表)

    在Linux服务器中可以使用命令 mysqladmin -u root password beijing2007; 来修改MySQL的root用户的密码. 但是在我们自己安装了wampserver的电 ...

  3. Codeforces Round #708 (Div. 2)

    A题被hack,A题很简单,其实题目没看懂,直接看样例做的. B题题意是以为懂了,但是样例一直看不懂. 经验:要两两相加能被一个m整除数组sum最少,利用他们的余数就可以设为a[x], x是余数,如果 ...

  4. AcWing 最短Hamilton距离 (状压DP)

    题目描述 给定一张 n 个点的带权无向图,点从 0∼n−1 标号,求起点 0 到终点 n−1 的最短 Hamilton 路径. Hamilton 路径的定义是从 0 到 n−1 不重不漏地经过每个点恰 ...

  5. 无法创建“Sunlight.Silverlight.Dcs.Web.PartsSupplier”类型的常量值。此上下文仅支持基元类型或枚举类型问题

    今天写代码遇到一个问题,            const string SCODE = "123";            var suppliers = PartsSuppli ...

  6. emqx启用JWT令牌认证(包含hmac-based和public-key)

    emqx连接启用jwt令牌认证 jwt令牌 概述 JWT 即 JSON Web Tokens 是一种开放的,用于在两方之间安全地表示声明的行业标准的方法(RFC 7519). 组成 令牌的形式 xxx ...

  7. java实现双向链表的增删改查

    双向链表的增删改查 和单链表的操作很像:https://blog.csdn.net/weixin_43304253/article/details/119758276 基本结构 1.增加操作 1.链接 ...

  8. 测试开发HTTP请求过程(一)

    测试开发HTTP请求过程 HTTP请求过程: 首先要熟悉http请求过程: 1,服务端建立socket监听 2,客户端发送http请求 3,客户端与服务端建立socket连接 4,客户端------t ...

  9. 齐博x1关于小程序个性源代码的说明

    系统默认推荐商家小程序使用通用型的源码,即框架套壳iframe形式的.这个灵活性更高.但如果有特殊需求的话,也可以设置个性源码,比如配合uni-app使用,针对不同的小程序就使用不同的uni-app风 ...

  10. python和C语言从路径中获取文件名

    1.Python import os file_name = os.path.basename(filepath)#带后缀的文件名(不含路径) file_name_NoExtension = os.p ...