美文网首页
从零开始学习Cgi

从零开始学习Cgi

作者: 凉拌姨妈好吃 | 来源:发表于2019-07-01 18:04 被阅读0次

    这篇文章适合没有任何基础的朋友看,有基础的大佬移步python文档

    为什么要用cgi?

    在web发展的初期,网页都是静态的。为了使用动态网页,就产生了技术--cgi
    什么是静态网页,什么是动态网页?

    • 静态网页:所有人得到的页面都是相同的
    • 动态网页:如购物网站,每个人购物车里的东西都不一样

    cgi如何做到静态转动态?

    前端通过表单等可以向web服务器(比如apache)发送一个url,以及格外的参数(get或post等请求类型及其参数,服务器的信息等)。在Apache开启了cgi模块后,可以将上面的这些数据发送给cgi程序,这个程序可以是各种语言(c语言c++等)。程序可以解析出具体参数,然后输出内容响应给前端页面

    ——————————————————————————————————
    看不懂上面的没关系,先看看下面的基础知识再返回来琢磨

    网站到底是怎么发送数据的?

    1.用户在浏览器中输入要访问的域名地址
    2.通过一系列解析与web服务器建立一条TCP连接通道,之后浏览器向web服务器发送一条HTTP请求报文。
    3.web服务器响应并读取浏览器的请求信息,发送给应用服务器
    4.应用服务器返回消息给web服务器,web服务器返回一条HTTP响应报文给浏览器

    网站响应的简略流程
    有的网站因为流量小,不使用web服务器,直接发送数据给应用服务器。
    可以参考:例子
    用户访问浏览器完整过程,查看第四点
    ——————————————————————————————————
    apache,nginx这些服务器,是静态服务器,也就是说,只能把本地的现成的html,css之类的东西传给浏览器。如果需要经过一些程序处理后返回数据给浏览器,那么服务器上的这个过程就叫cgi,程序就是cgi程序。如果没有cgi的话,我们就无法访问到后面的应用服务器,只能返回一些本地现成的静态数据。

    cgi的概念

    CGI是外部应用程序(CGI程序)与WEB服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。

    cgi脚本工作流程

    1.浏览器通过HTML表单或超链接请求指向一个CGI应用程序的URL。
    2.服务器收到请求。
    3.服务器执行所指定的CGI应用程序。
    4.CGI应用程序执行所需要的操作,通常是基于浏览者输入的内容。
    5.CGI应用程序把结果格式化为网络服务器和浏览器能够理解的文档(通常是HTML网页)。
    6.网络服务器把结果返回到浏览器中。

    cgi流程

    参考资料:
    Web是怎么工作的: CGI脚本
    如何理解 CGI, WSGI?
    网关协议学习:CGI、FastCGI、WSGI
    Web 服务器与应用服务器的区别是什么?
    用户访问网站的完整流程
    Python CGI编程

    相关文章

      网友评论

          本文标题:从零开始学习Cgi

          本文链接:https://www.haomeiwen.com/subject/oyjlcctx.html