Web服务器和各种重定向

时间:2013-04-05 18:19:20

标签: webserver

如何将请求发送到我的Web服务器并将其打开,或许,请求到其他主机上的其他Web服务器等等,直到,各个Web服务器中的一个或多个获取响应,并返回它发送给发起请求的客户端。

1 个答案:

答案 0 :(得分:1)

听起来就像你要求的那样:

[客户] - > [您的网络服务器] ----> [众多服务器]

  1. 客户端向您的网络服务器发起请求
  2. 您的网络服务器向一个或多个远程网络服务器发出请求
  3. 当至少有一个远程网络服务器回复或超时用完时,您的网络服务器会将响应发送回您的客户端。
  4. 如果这就是你要问的,那么范围太广了。即,你的实施是什么?这真的是一个蟒蛇问题吗? :)

    如果后端上的所有众多服务器都是相同的并且由您控制,那么位于前端的服务器基本上将成为负载均衡器或代理服务器。 Ala HA-Proxy,Nginx,Apache,Varnish等。

    如果您正在谈论设置您的网站以进行部分代理或网页抓取或数据捕获,那么这完全是另一回事。

    在任何一种情况下,您的问题/案例都过于模糊,如发布。

    编辑:回应评论。

    这并不是特别困难。您需要做的是设置一个python守护程序进程,该进程侦听Web端口。根据您希望文件读取行为的工作方式,您可以在启动时读取文件,使其在内存中,或者您可以获取性能命中并读取每次尝试的文件。

    启动与远程站点的连接是构建和调用适当的python库的问题。

    创建python Web服务器:

    http://docs.python.org/2/library/simplehttpserver.html

    启动与远程站点的连接:

    使用Python HTTP库: http://docs.python.org/2/library/httplib.html

    构建Python Web客户端: http://python.about.com/od/networkingwithpython/ss/beg_web_client_all.htm

    Python Web Scraping: Web scraping with Python http://scrapy.org/

    您所描述的并不是执行任务的理想方式。在这方面你最好使用HAproxy / Nginx。但是,鉴于要求是python,上述资源链接将指向正确的方向。