web服务器通过什么执行外部程序

worktile 其他 28

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    Web服务器通过以下几种方式执行外部程序:

    1. CGI(Common Gateway Interface):CGI是Web服务器和外部程序之间的一种标准化接口。在这种方式下,当Web服务器收到一个请求时,它会调用一个外部程序来处理请求,并将程序的输出返回给客户端。CGI程序可以使用多种编程语言来编写,例如Perl、Python、PHP等。Web服务器通过将请求中的数据传递给CGI程序,并处理程序的输出来执行外部程序。

    2. FastCGI(Fast Common Gateway Interface):FastCGI是CGI的一种改进版本,通过使用长期连接、线程池等技术来提高性能。在这种方式下,Web服务器会将请求发送给FastCGI进程,进程会在后台处理请求,并将结果返回给Web服务器。由于FastCGI进程是长期运行的,相比于每次请求都启动一个新的CGI进程来说,FastCGI能够更有效地执行外部程序。

    3. Server-side scripting:服务器端脚本是一种在服务器上执行的脚本程序,例如ASP(Active Server Pages)、JSP(JavaServer Pages)。在这种方式下,Web服务器会将脚本解释或编译并执行,生成动态内容响应客户端请求。脚本可以以HTML、XML或其他格式输出结果。

    4. Web服务(Web Service):Web服务是一种通过网络进行通信的应用程序接口(API),它使用标准的HTTP协议进行通信。Web服务可以由各种编程语言实现,并且可以在任何操作系统上运行。通过Web服务,Web服务器可以与外部程序进行通信并执行其功能。

    综上所述,Web服务器可以通过CGI、FastCGI、服务器端脚本和Web服务等方式执行外部程序。这些方式各有特点,可以根据具体需求选择适合的方式来执行外部程序。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    Web服务器通过以下几种方式来执行外部程序:

    1. CGI(通用网关接口):CGI是一种标准的Web服务器与外部程序进行交互的协议。当Web服务器接收到一个CGI请求时,它会将请求参数以及其他相关信息传递给指定的外部程序,并等待外部程序的执行完成后再返回结果给客户端。

    2. FastCGI:FastCGI是CGI的改进版,它通过在Web服务器和外部程序之间建立一个持久的连接来提高性能。相比于每次请求都需要启动一个新的进程的CGI,FastCGI可以在一个持续运行的进程中处理多个请求,减少了进程启动和关闭的开销。

    3. PHP-FPM:PHP-FPM是一种运行PHP脚本的方式,它通过一个独立的进程池来管理PHP脚本的执行。Web服务器与PHP-FPM之间通过FastCGI协议进行通信,将请求参数传递给PHP-FPM进行处理,并将结果返回给客户端。

    4. WSGI:对于Python开发的Web应用程序,常使用WSGI(Web服务器网关接口)来与Web服务器进行交互。WSGI定义了一套规范,使得开发者可以编写符合WSGI标准的应用程序,而不必关心底层的Web服务器实现细节。

    5. Modul

    1年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    web服务器可以通过 CGI(Common Gateway Interface)或 FastCGI(Fast Common Gateway Interface)来执行外部程序。

    1. CGI:CGI是一种通信协议,它定义了Web服务器和外部程序之间的通信格式。通过CGI,Web服务器可以将HTTP请求中的数据传递给外部程序,外部程序处理完数据后,再将结果返回给Web服务器,最后Web服务器将结果返回给客户端。CGI可以使用多种编程语言进行开发,如Perl、Python、PHP等。执行外部程序时,CGI会创建一个进程来运行该程序,每个请求都会启动一个新的进程,造成资源和性能的浪费。

    2. FastCGI:FastCGI是对CGI的改进和扩展。它采用长连接,通过多路复用技术来处理多个请求,减少了进程的创建和销毁开销,提高了性能。FastCGI服务器会启动多个进程或线程,在这些进程或线程中运行外部程序,从而提供并发处理能力。FastCGI程序能够实现进程管理、线程池、共享内存等功能,提供更高的性能和灵活性。

    两者的执行过程如下:

    1. CGI执行流程:
      (1)Web服务器接收到客户端的HTTP请求。
      (2)Web服务器创建一个新的进程,并将环境变量、标准输入、标准输出等传递给该进程。
      (3)外部程序接收到Web服务器传递的数据,进行处理。
      (4)外部程序将处理结果返回给Web服务器。
      (5)Web服务器将处理结果返回给客户端,进程退出。

    2. FastCGI执行流程:
      (1)Web服务器接收到客户端的HTTP请求。
      (2)Web服务器将请求传递给FastCGI服务器。
      (3)FastCGI服务器从进程池中选择一个进程或线程,并将请求转发给该进程或线程。
      (4)外部程序接收到FastCGI服务器传递的数据,进行处理。
      (5)外部程序将处理结果返回给FastCGI服务器。
      (6)FastCGI服务器将处理结果返回给Web服务器。
      (7)Web服务器将处理结果返回给客户端。

    总结:
    通过CGI或FastCGI,web服务器可以执行外部程序。CGI每次请求都会创建新的进程,而FastCGI通过进程池或线程池的方式提供并发处理能力,减少了进程的创建和销毁开销,提高了性能。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部