zoukankan      html  css  js  c++  java
  • 草稿cgi

    -----------------------------------------------------------------------------------------------------
    
    术语:
        CGI:    公用网管接口(Common Gateway Interface)
        URL:     资源定位器
        JSON:    JavaScript 对象表示法(JavaScript Object Notation)
            > JSON 是存储和交换文本信息的语法。类似 XML。
            > JSON 比 XML 更小、更快,更易解析。
    
    -----------------------------------------------------------------------------------------------------
    
    1、浏览Web
        1)Web  :指试图进行数据交换的两个不同系统之间进行的交互操作。
            抓取Web页 -- 客户机系统
            另一端    -- Web服务器系统
        2)URL:资源定位器
        当客户机需要检索一个We b页时,它要查看统一资源定位器( U R L),以确定使用什么协
    议、服务器,以及在该服务器上提出的是什么请求。
            示例: http://www.google.com:80/more.html
        URL可分割成下列部分:
            1)http  :使用协议,传送Web页的协议.也会看到ftp 或 https等协议.
            2)www.google.com    :服务器名或主机名,包含想要的文档.
                                :有时不是主机名,而是IP地址,常写作地址,如209.185.108.147.
            3):80               :端口号,确定[客] 和 [服]在哪个端口连接,http常使用80.
            4)more.html     :指对服务器提出的请求.常为你想检索的文档.
                                :有时其为路径名,例如:/archives/foo.html;
                                :或使用其他字符结尾(?&),不过其基本上指客户机要求向服务器检索的文档.
        这时客户机为http下列操作步骤:
            1)主机名转换成IP地址,主机名为:www.google.com;
            2)使用IP地址和端口号与www.google.com上的服务器建立连接;
            3)服务器发出应答,在上例中,服务器发出more.html的内容,然后断开与服务器的连接。
            4)客户机在屏幕上显示服务器应答的Web内容。
    
    -----------------------------------------------------------------------------------------------------
    
    2、动态Web页 -- 使用CGI
        1)检索静态Web页:服务器不对数据进行任何处理,它只是查看客户机提出的请求,并
        将请求的数据传送给客户机。
        2)在Web上创建动态内容的方法之一是使用 CGI程序,CGI是Web服务器用来在服务器上
        运行程序以便生成Web内容的公认的方法。
        3)URL-->CGI --> Web内容 --> 客户端
        4)客户机检索CGI程序的Web页时:
            1)服务器启动CGI程序的一个新实例。
            2)CGI程序使用它需要的信息生成一个Web页,或者生成另一个应答。
            3)该Web页被送回给客户机。
            4)CGI程序退出。
        5)表单的action事件告诉了浏览器把数据发送给哪个cgi程序进行处理,
        cgi脚本包括三个部分:
            1)读取用户的表单输入,
            2)对输入进行处理,
            3)把结果输出给标准输出;
    
        当提交表单时会以下列格式产生cgi程序的输入:
          http://192.168.168.206/cgi-bin/get?name=Kevin+Burris&email=kevin@idocs.com
                                |--cgi路径--|-----------------参数------------------|
                                |----------------------输入部分---------------------|
        参数解析如下:
            1) nameX表示参数名称;
            2) valueX表示参数值;
            3) 每参数以&分割;
            4) 另外+表示空格,如Kevin+Burris;
            5) %xx表示十六进制数。
        数据输入的方法:get 和 post
            GET :将数据附加在URL后发送。
                如:/cgi/a_cgi_test.exe?your_data,
                CGI程序通过检查环境变量QUERY_STRING来得到输入数据。
            POST:将数据送到CGI程序的stdin输入流。
                在表单中的各个变量都以name=value形式向WEB服务器发送,多数据间用&分隔。
                如:name=value&name2=value2。其中名字(name,name2)是Form中定义的
                INPUT、SELECT或TEXTAREA等标置(Tag)名字,值是用户输入或选择的标置值。
        6)CGI处理程序:任何具有标准输入/输出,环境变量的语言都可以。
        7)CGI输出:cgi输出必须有一个cgi标题
        标题有以下三类:
            1)Location      : 指明输出另一个文档的URL.
                        例如 fprintf(stdout,"Location: http://www.vchelp.net/\n\n"); 
            2)Content-Type  : 指明发送的数据的MIME类型.
                        例如 fprintf(stdout,"Content-Type: text/html\n\n"); 
            3)Status        : 指明HTTP状态码.
                        例如 fprintf(stdout,"Status: 200\n\n"); 
        
        注意:每种标题后都必须跟一个换行和一个空行。
    
        MIME类型以类型/子类型的形式来表示,下面是一些常用的类型/子类型的组合: 
            Text/plain 普通文本类型 
            Text/html HTML格式的文本类型 
            Audio/basic 八位声音文件格式,后缀为.au 
            Video/mpeg MPEG文件格式 
            Video/quicktime QuickTime文件格式 
            Image/gif GIF图形文件 
            Image/jpeg JPEG图形文件 
            Image/x-xbitmap X bitmap图形文件,后缀为.xbm 
    
    -----------------------------------------------------------------------------------------------------
    
    
    ********************************************************************************
    ********************************************************************************
    ********************************************************************************
    
    #------------------------------------------------------------------------------#
    
    环境变量:
        一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和
    系统文件夹位置等。
        Linux下的环境变量
    
        shell环境依赖于多个文件的设置。当shell被调用时,它从两个初始文件读取命令。
    /etc/profile包含了系统变量,它由系统管理员维护,由系统管理用设置本地系统变量和特
    殊命令。普通用户的启动信息文件($HOME/.bash_project)由各用户自己维护,该文件可以被
    修改以实现任何特定的系统初始化。
        只有在特定的情况下才读取profile文件,确切的说是在用户登陆的时候。当运行shell
    脚本或subshell以后,就无须再读profile.虽然所有profile都可选的,但是基本上所有系统
    都有/etc/profile.
        如果定义了变量ENV且已经传递到环境中没所有的bash shell都要读取并调用由这个变量
    制定的文件所包含的命令。这个文件用来定义所有bash shell的特征,而不仅仅是登陆到shell。
    这个文件的典型的名字是$HOME/,bashrc。
      当用(系统管理员)新建用户时,.bash_profile、bashrc和其他公共的环境文件模板将
    复制到/etc/skel这个目录下面。可以编辑这些初始化设置,也可以在此目录下添加附加的文件。
      Example:
      一个典型的系统profile(/etc/profile):
      PATH=$PATH:/usr/qa/tools/bin
      ENV==$HOME/.bashrc
      ORACLE_HOME=/dbs/oracle
      ORACLE_SID=qadb
      Export PATH ENV ORACLE_HOME ORCAL_SID
      Cat /etc/motd
      一个典型的用户profile(.bashrc)
      PATH=$PATH:$HOME/bin
      TEAM=uvt1224 export TERM
      stty intr \^C
      cal
      mesg n
      一个典型的用户 bashrc file (.bashrc):
      alias dir=ls lf='ls -FC'
      PSI='$PWS[!]>'
      set -o vi
      别名和其他bash专用的定义应该放在.bashrc文件(不应在.bash_profile) 中定义;
    否则会导致找不到某些命令。
      应该记住profile文件和.bashrc文件的区别:两个profile都只在系统启动时被读取一次,
    而.bashrc在系统启动和每次调用shell的时候都要被读取。
    
    ********************************************************************************
    ********************************************************************************
    ********************************************************************************
  • 相关阅读:
    centos7 killall 命令
    移动硬盘拒绝访问问题解决方法
    Linux实现内容分发的主备模式的智能DNS
    UWB DWM1000 跟随小车原理--- 原理代码解析
    DWM1000 自动应答代码实现与实例
    UWB DWM1000 跟随小车原理---一张图演示
    DWM1000 帧过滤代码实现
    Bphero-UWB 基站0 和 电脑串口数据格式定义
    DW1000 用户手册中文版 附录3:双向测距(Two-Way Ranging)
    DW1000 用户手册中文版 附录2 IEEE-802.15.4 MAC层
  • 原文地址:https://www.cnblogs.com/xuejianhui/p/2770150.html
Copyright © 2011-2022 走看看