小编Avi*_*ran的帖子

什么是通用网关接口(CGI)?

CGI是一个通用网关接口.顾名思义,它是所有东西的"通用"网关接口.从这个名字来看,它是如此微不足道和天真.我觉得我理解这一点,每次遇到这个词时我都会感受到这一点.但坦率地说,我没有.我还是很困惑.

我是一名具有Web开发经验的PHP程序员.

用户(客户端)请求页面---> webserver( - >嵌入式PHP解释器)---->服务器端(PHP)脚本---> MySQL服务器.

现在说我的PHP脚本可以从MySQL服务器和MATLAB服务器以及其他一些服务器获取结果.

那么,现在PHP Script是CGI吗?因为它的网络服务器和所有其他服务器之间的接口?我不知道.有时他们称CGI为技术,有时他们称CGI为程序或其他服务器.

  • CGI究竟是什么?

  • 最重要的是什么/cgi-bin/*.cgi?怎么了?我不知道cgi-bin服务器上的这个目录是什么.我不知道为什么他们有*.cgi扩展名.

  • 为什么Perl总是挡路.CGI和Perl(语言).我也不知道这两个是怎么回事.几乎所有的时间我一直听到这两个组合"CGI&Perl".这本书是另一个很好的例子,用Perl进行CGI编程.为什么不"使用PHP/JSP/ASP进行CGI编程"?我从未见过这样的事情.

  • C语言中的CGI编程让我很困惑." 在C "?? 认真?我不知道该说些什么.我只是困惑." 在C "?? 这改变了一切.程序需要编译和执行.这完全改变了我对网络编程的看法.我什么时候编译?如何执行程序(因为它将是一个机器代码,因此它必须作为一个独立的进程执行).它如何与Web服务器通信?IPC?并使用套接字编程与所有服务器(在我的示例MATLAB和MySQL中)连接?我迷路了!!

  • 人们说CGI已被弃用,不再使用了.是这样吗?什么是最新的更新?

有一次,我遇到了必须给HTTP PUT请求访问Web服务器(Apache HTTPD)的情况.它很久了.所以,据我记得这就是我所做的:

  1. 编辑了Apache HTTPD的配置文件,告诉webserver将所有HTTP PUT请求传递给某些人 put.php(我必须编写这个PHP脚本)

  2. 实现put.php来处理请求(将文件保存到提到的位置)

人们说我写了一个CGI脚本.说真的,我不知道他们在说什么.

  • 我真的写过CGI脚本吗?

我希望你明白我的困惑是什么.(因为我自己不知道我在哪里感到困惑).我请求你们尽可能简单地保持你的答案.我真的无法理解任何花哨的技术术语.至少在这种情况下不是.

编辑:

我发现这个惊人的教程"CGI编程很简单!" - CGI教程,以最简单的方式解释概念.阅读本文后,您可能需要阅读C语言中的CGI编程入门,以补充您对实际代码示例的理解.我还将这些教程的链接添加到维基百科的文章中:http://en.wikipedia.org/wiki/Common_Gateway_Interface

cgi

737
推荐指数
12
解决办法
19万
查看次数

在Firefox扩展中重定向请求(nsiHttpChannel?)

我一直在尝试这个很长一段时间,并没有很好的结果.

var myObserver = {
    observe: function(subject, topic, data)
    {
        if (topic == "http-on-examine-response") 
        {   
             //  implement later
        } 
        else if(topic == "http-on-modify-request") 
        {
             //  implement later
        }
   },

   QueryInterface : function (id)
   {
       if (id.equals(Components.interfaces["nsIObserver"]) ||
           id.equals(Components.interfaces["nsISupports"]))
       {
           return this;
       }
       throw Components.results.NS_NOINTERFACE;
   }
};

var obs = new Service("observer-service", "ObserverService");
obs.addObserver(myObserver, "http-on-modify-request", false);
Run Code Online (Sandbox Code Playgroud)

基本上,http-on-modify-request我知道如何检查URI,找出与之关联的窗口(如果有的话)以及其他一些东西.我无法弄清楚的是如何重定向请求,我知道这是可能的,因为我可以在发出任何请求之前获得nsIHttpChannel.

谁知道该怎么办?:/我一直试着打了几个星期,然后无处可去.

javascript httprequest firefox-addon

43
推荐指数
1
解决办法
3904
查看次数

iOS Swift上弃用后Twitter.sharedInstance().session()?. userName的替代方案

我一直在用Twitter.sharedInstance().session()?.userNameiOS(在Swift中)的Label中显示用户的推特地址.现在我注意到我们得到以下弃用警告:

- [Twitter会话]很快将被弃用.如果用户管理多个用户,建议用户使用 - [TWTRSessionStore session]或 - [TWTRSessionStore sessionForUserID:]

我切换到推荐的方式,并期望找到一个.userName属性,但找不到一个.

人们如何才能Twitter.sharedInstance().session()?.userName继续前进呢?

twitter session ios swift twitter-fabric

7
推荐指数
2
解决办法
3566
查看次数

绝对死亡wxWidgets疼痛

我之前从未使用过wxWidgets,我很想尝试一下,但是我已经遇到了一百万个问题.

我在Visual Studio 2010上使用wxWidgets 2.9.1.我已经完成了批量构建,以在每个配置中构建每个项目.

我已将include和lib引用添加到我的项目中.

当我尝试编译简单的"Hello,World!"时 程序,我收到此错误:

Error   1   error C1083: Cannot open include file: '../../../lib/vc_lib/msw/wx/setup.h': No such file or directory
Run Code Online (Sandbox Code Playgroud)

我检查了我的lib/vc_lib文件夹,确实没有找到"msw"文件夹.只有"mswu","mswud","mswunivu"和"mswunivd".

有谁知道发生了什么?:/

c++ wxwidgets visual-studio-2010

6
推荐指数
1
解决办法
2604
查看次数

jQuery弃用通知jqxhr.success()

我最近在jQuery网站上看到了一个弃用通知.

弃用注意:jQuery 1.8中不推荐使用jqXHR.success(),jqXHR.error()和jqXHR.complete()回调.要准备最终删除的代码,请使用jqXHR.done(),jqXHR.fail()和jqXHR.always().


我目前编码如下:

$.ajax({
  url: '...',
  success: function(){
    alert('AJAX successful');
  }
});
Run Code Online (Sandbox Code Playgroud)

我打算使用jQuery 1.8+

我应该将success密钥更改done为:

$.ajax({
      url: '...',
      done: function(){
        alert('AJAX successful');
      }
    });
Run Code Online (Sandbox Code Playgroud)

jquery

5
推荐指数
2
解决办法
1481
查看次数

与Webpack反应:PropTypes出现在最终包中

Per React关于PropTypes的文档:

请注意,出于性能原因propTypes,仅在开发模式下进行检查.

但是,当我使用Webpack构建我的应用程序时,我看到我已经在最终包中定义的propTypes.

我正在将NODE_ENV设置为生产.这种行为有望吗?

我的理论:

虽然PropType定义仍在生产代码中,但会跳过PropTypes验证.如果这个理论是正确的,那么在prod代码中是否有剥离PropTypes的最佳实践?

reactjs webpack

5
推荐指数
1
解决办法
4387
查看次数

在多个阶段之间在Jenkins中重用代理程序(docker容器)

我有一个具有多个阶段的管道,并且我想仅在“ n”个阶段之间而不是所有阶段之间重用docker容器:

pipeline {
   agent none

   stages {
       stage('Install deps') {
            agent {
                docker { image 'node:10-alpine' }
            }

            steps {
                sh 'npm install'
            }
        }

       stage('Build, test, lint, etc') {
            agent {
                docker { image 'node:10-alpine' }
            }

            parallel {
                stage('Build') {
                    agent {
                        docker { image 'node:10-alpine' }
                    }

                    // This fails because it runs in a new container, and the node_modules created during the first installation are gone at this point
                    // How do I reuse the …
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-docker jenkins-pipeline

5
推荐指数
2
解决办法
4684
查看次数

Guzzle的API文档?

Guzzle的API文档在哪里?

有这两个链接(看起来是一样的):

但是我无处可以找到深入的API文档(甚至只是从Gublock源代码中整齐地创建的Docblocks生成的基本文档).

有谁知道在哪里找到它?

guzzle

3
推荐指数
1
解决办法
679
查看次数