我是Web编程的新手。我写了一个微型的C++服务器来生成HTML页面。如果我理解正确,fastcgi方法如下:

                         |                    Site1
                         |  +------------+   +--------------+   +-------------+
                         |--|Apache/nginx|---|fastcgi socket|---|My C++ server|
                         |  +------------+   +--------------+   +-------------+
                       ........................................................
                         |                    Site2
   +-----------------+   |  +------------+   +--------------+   +-------------+
===|TCP from Internet|===|--|Apache/nginx|---|fastcgi socket|---|My C++ server|
   +-----------------+   |  +------------+   +--------------+   +-------------+
                         |
                         | <-firewall

我的理解如下,如果我错了,请纠正我
  • 步骤是有人打开一个Tcp / Http套接字到一个众所周知的地址,例如。 http://www.example.com
  • 是防火墙的东西,所以背靠背的用户代理说,他是example.com,并在Web服务器
  • 之间进行一些流量路由
  • 防火墙打开Web服务器(Apache / nginx)的另一个套接字,该套接字记录访问权限和其他内容。
  • Web服务器为我的C++服务器打开新的套接字
  • 我的C++服务器获得了fastcgi套接字,我接受了连接,然后开始轮询该连接上的I / O事件
  • 当数据通过该fastcgi连接到达时,我将其读取并将内容解析为HTTP header 和HTTP有效负载

  • 因此,我的问题是如何进行身份验证或使用其他字词识别用户? 1个连接是1个用户,这是真的吗?是否应该在每个处理登录/注销状态的连接上启动状态机?因此,当接受新连接时,状态“已注销”,我发回注册表格,当我获得用户/通过连接状态步骤以“登录”时,服务器发送个性化内容。

    我的C++服务器基于server1 - a c++ network server/client framework

    最佳答案

    您的问题需要有值(value)的答案书。

    5和6是正确的,但Web服务器将处理所有这些。

    您确实应该专注于一个可以实现的小目标。让我们从fastcgi身份验证开始。使用“身份验证Cookie”进行搜索,这应该使您从答案的一部分入手。

    关于c++ - 如何使用C++实现fastcgi身份验证?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14760557/

    10-11 22:41