成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用CGI腳本生成網(wǎng)頁

開發(fā) 后端
通用網(wǎng)關(guān)接口(CGI)提供了使用任何語言生成動(dòng)態(tài)網(wǎng)站的簡(jiǎn)易方法。有許多種語言可以用來寫 CGI 腳本,在這篇文章中,我將談到的是 Perl 和 Bash ,其他非常受歡迎的 CGI 語言包括 PHP 和 Python 。

如何使用CGI腳本生成網(wǎng)頁

通用網(wǎng)關(guān)接口(CGI)提供了使用任何語言生成動(dòng)態(tài)網(wǎng)站的簡(jiǎn)易方法。

回到互聯(lián)網(wǎng)的開端,當(dāng)我***次創(chuàng)建了我的***個(gè)商業(yè)網(wǎng)站,生活是如此的美好。

我安裝 Apache 并寫了一些簡(jiǎn)單的 HTML 網(wǎng)頁,網(wǎng)頁上列出了一些關(guān)于我的業(yè)務(wù)的重要信息,比如產(chǎn)品概覽以及如何聯(lián)系我。這是一個(gè)靜態(tài)網(wǎng)站,因?yàn)閮?nèi)容很少改變。由于網(wǎng)站的內(nèi)容很少發(fā)生改變這一性質(zhì),因此維護(hù)起來也很簡(jiǎn)單。

 

靜態(tài)內(nèi)容

靜態(tài)內(nèi)容很簡(jiǎn)單,同時(shí)也很常見。讓我們快速的瀏覽一些靜態(tài)網(wǎng)頁的例子。你不需要一個(gè)可運(yùn)行網(wǎng)站來執(zhí)行這些小實(shí)驗(yàn),只需要把這些文件放到家目錄,然后使用瀏覽器打開。你所看到的內(nèi)容將和通過 Web 服務(wù)器提供這一文件看到的內(nèi)容一樣。

對(duì)于一個(gè)靜態(tài)網(wǎng)站,你需要的***件東西就是 index.html 文件,該文件通常放置在 /var/www/html 目錄下。這個(gè)文件的內(nèi)容可以非常簡(jiǎn)單,比如可以是像 “Hello, world” 這樣一句短文本,沒有任何 HTML 標(biāo)記。它將簡(jiǎn)單的展示文本串內(nèi)容。在你的家目錄創(chuàng)建 index.html 文件,并添加 “hello, world” 作為內(nèi)容(不需要引號(hào))。在瀏覽器中通過下面的鏈接來打開這一文件:

  1. file:///home/<你的家目錄>/index.html

所以 HTML 不是必須的,但是,如果你有大量需要格式化的文本,那么,不用 HTML 編碼的網(wǎng)頁的結(jié)果將會(huì)令人難以理解。

所以,下一步就是通過使用一些 HTML 編碼來提供格式化,從而使內(nèi)容更加可讀。下面這一命令創(chuàng)建了一個(gè)具有 HTML 靜態(tài)網(wǎng)頁所需要的絕對(duì)最小標(biāo)記的頁面。你也可以使用你最喜歡的編輯器來創(chuàng)建這一內(nèi)容。

  1. echo "<h1>Hello World</h1>" > test1.html

現(xiàn)在,再次查看 index.html 文件,將會(huì)看到和剛才有些不同。

當(dāng)然,你可以在實(shí)際的內(nèi)容行上添加大量的 HTML 標(biāo)記,以形成更加完整和標(biāo)準(zhǔn)的網(wǎng)頁。下面展示的是更加完整的版本,盡管在瀏覽器中會(huì)看到同樣的內(nèi)容,但這也為更加標(biāo)準(zhǔn)化的網(wǎng)站奠定了基礎(chǔ)。繼續(xù)在 index.html 中寫入這些內(nèi)容并通過瀏覽器查看。

  1. <!DOCTYPE HTML PUBLIC "-//w3c//DD HTML 4.0//EN">
  2. <html>
  3. <head>
  4. <title>My Web Page</title>
  5. </head>
  6. <body>
  7. <h1>Hello World</h1>
  8. </body>
  9. </html>

我使用這些技術(shù)搭建了一些靜態(tài)網(wǎng)站,但我的生活正在改變。

 

動(dòng)態(tài)網(wǎng)頁

我找了一份新工作,這份工作的主要任務(wù)就是創(chuàng)建并維護(hù)用于一個(gè)動(dòng)態(tài)網(wǎng)站的 CGI(公共網(wǎng)關(guān)接口Common Gateway InterfaceM)代碼。字面意思來看,動(dòng)態(tài)意味著在瀏覽器中生成的網(wǎng)頁所需要的 HTML 是由每次訪問頁面時(shí)不同的數(shù)據(jù)所生成的。這些數(shù)據(jù)包括網(wǎng)頁表單中的用戶輸入,以用來在數(shù)據(jù)庫中進(jìn)行數(shù)據(jù)查找,結(jié)果數(shù)據(jù)被一些恰當(dāng)?shù)?HTML 包圍著并展示在所請(qǐng)求的瀏覽器中。但是這不需要非常復(fù)雜。

通過使用 CGI 腳本,你可以創(chuàng)建一些簡(jiǎn)單或復(fù)雜的交互式程序,通過運(yùn)行這些程序能夠生成基于輸入、計(jì)算、服務(wù)器的當(dāng)前條件等改變的動(dòng)態(tài)頁面。有許多種語言可以用來寫 CGI 腳本,在這篇文章中,我將談到的是 Perl 和 Bash ,其他非常受歡迎的 CGI 語言包括 PHP 和 Python 。

這篇文章不會(huì)介紹 Apache 或其他任何 web 服務(wù)器的安裝和配置。如果你能夠訪問一個(gè)你可以進(jìn)行實(shí)驗(yàn)的 Web 服務(wù)器,那么你可以直接查看它們?cè)跒g覽器中出現(xiàn)的結(jié)果。否則,你可以在命令行中運(yùn)行程序來查看它們所創(chuàng)建的 HTML 文本。你也可以重定向 HTML 輸出到一個(gè)文件中,然后通過瀏覽器查看結(jié)果文件。

 

使用 Perl

Perl 是一門非常受歡迎的 CGI 腳本語言,它的優(yōu)勢(shì)是強(qiáng)大的文本操作能力。

為了使 CGI 腳本可執(zhí)行,你需要在你的網(wǎng)站的 httpd.conf 中添加下面這行內(nèi)容。這會(huì)告訴服務(wù)器可執(zhí)行 CGI 文件的位置。在這次實(shí)驗(yàn)中,不必?fù)?dān)心這個(gè)問題。

  1. ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

把下面的 Perl 代碼添加到文件 index.cgi,在這次實(shí)驗(yàn)中,這個(gè)文件應(yīng)該放在你的家目錄下。如果你使用 Web 服務(wù)器,那么應(yīng)把文件的所有者更改為 apache.apache,同時(shí)將文件權(quán)限設(shè)置為 755,因?yàn)闊o論位于哪,它必須是可執(zhí)行的。

  1. #!/usr/bin/perl
  2. print "Content-type: text/html\n\n";
  3. print "<html><body>\n";
  4. print "<h1>Hello World</h1>\n";
  5. print "Using Perl<p>\n";
  6. print "</body></html>\n";

在命令行中運(yùn)行這個(gè)程序并查看結(jié)果,它將會(huì)展示出它所生成的 HTML 內(nèi)容

現(xiàn)在,在瀏覽器中查看 index.cgi 文件,你所看到的只是文件的內(nèi)容。瀏覽器需要將它看做 CGI 內(nèi)容,但是,Apache 不知道需要將這個(gè)文件作為 CGI 程序運(yùn)行,除非 Apache 的配置中包括上面所展示的 ScriptAlias 定義。沒有這一配置,Apache 只會(huì)簡(jiǎn)單地將文件中的數(shù)據(jù)發(fā)送給瀏覽器。如果你能夠訪問 Web 服務(wù)器,那么你可以將可執(zhí)行文件放到 /var/www/cgi-bin 目錄下。

如果想知道這個(gè)腳本的運(yùn)行結(jié)果在瀏覽器中長(zhǎng)什么樣,那么,重新運(yùn)行程序并把輸出重定向到一個(gè)新文件,名字可以是任何你想要的。然后使用瀏覽器來查看這一文件,它包含了腳本所生成的內(nèi)容。

上面這個(gè) CGI 程序依舊生成靜態(tài)內(nèi)容,因?yàn)樗偸巧上嗤妮敵觥0严旅孢@行內(nèi)容添加到 CGI 程序中 “Hello, world” 這一行后面。Perl 的 system 命令將會(huì)執(zhí)行跟在它后面的 shell 命令,并把結(jié)果返回給程序。此時(shí),我們將會(huì)通過 free 命令獲得當(dāng)前的內(nèi)存使用量。

  1. system "free | grep Mem\n";

現(xiàn)在,重新運(yùn)行這個(gè)程序,并把結(jié)果重定向到一個(gè)文件,在瀏覽器中重新加載這個(gè)文件。你將會(huì)看到額外的一行,它展示了系統(tǒng)的內(nèi)存統(tǒng)計(jì)數(shù)據(jù)。多次運(yùn)行程序并刷新瀏覽器,你將會(huì)發(fā)現(xiàn),內(nèi)存使用量應(yīng)該是不斷變化的。

 

使用 Bash

Bash 可能是用于 CGI 腳本中最簡(jiǎn)單的語言。用 Bash 來進(jìn)行 CGI 編程的***優(yōu)勢(shì)是它能夠直接訪問所有的標(biāo)準(zhǔn) GNU 工具和系統(tǒng)程序。

把已經(jīng)存在的 index.cgi 文件重命名為 Perl.index.cgi,然后創(chuàng)建一個(gè)新的 `index.cgi 文件并添加下面這些內(nèi)容。記得設(shè)置權(quán)限使它可執(zhí)行。

  1. #!/bin/bash
  2. echo "Content-type: text/html"
  3. echo ""
  4. echo '<html>'
  5. echo '<head>'
  6. echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'
  7. echo '<title>Hello World</title>'
  8. echo '</head>'
  9. echo '<body>'
  10. echo '<h1>Hello World</h1><p>'
  11. echo 'Using Bash<p>'
  12. free | grep Mem
  13. echo '</body>'
  14. echo '</html>'
  15. exit 0

在命令行中執(zhí)行這個(gè)文件并查看輸出,然后再次運(yùn)行并把結(jié)果重定向到一個(gè)臨時(shí)結(jié)果文件中。然后,刷新瀏覽器查看它所展示的網(wǎng)頁是什么樣子。

 

結(jié)論

創(chuàng)建能夠生成許多種動(dòng)態(tài)網(wǎng)頁的 CGI 程序?qū)嶋H上非常簡(jiǎn)單。盡管這是一個(gè)很簡(jiǎn)單的例子,但是現(xiàn)在你應(yīng)該看到一些可能性了。

責(zé)任編輯:龐桂玉 來源: Linux中國(guó)
相關(guān)推薦

2018-03-27 13:33:48

百度

2023-05-04 07:12:02

Linuxshell人工智能

2022-11-21 17:44:03

機(jī)器學(xué)習(xí)文本生成器自然語言

2023-06-07 07:16:04

Markdown網(wǎng)頁

2024-09-30 09:04:20

2009-05-31 09:25:03

SQL Server腳本數(shù)據(jù)庫管理

2011-07-06 15:47:29

SQL Server分區(qū)

2010-05-12 18:04:41

IIS服務(wù)器

2023-02-06 10:12:04

人工智能文本生成工具

2023-06-19 07:08:22

結(jié)構(gòu)化數(shù)據(jù)ChatGPT

2023-02-26 10:16:19

JavaPDF文檔

2009-06-11 09:39:33

netbeans 生成Webservice

2021-05-12 10:17:15

Shell工具Linux

2019-09-18 19:20:28

2024-02-19 09:19:54

OpenAIAI模型人工智能

2021-02-01 10:11:04

工具代碼開發(fā)

2022-11-23 08:14:42

bash 腳本test 命令

2016-10-08 20:58:50

awkLinux編寫腳本

2017-05-16 14:48:24

WhatsApp數(shù)據(jù)安全

2011-08-23 09:56:52

UnicodeLua
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 精品国产亚洲一区二区三区大结局 | 黑色丝袜三级在线播放 | 日韩在线观看中文字幕 | 一级毛片视频 | 91天堂网| 亚洲综合无码一区二区 | 亚州精品天堂中文字幕 | 男女视频免费 | 6080亚洲精品一区二区 | 国产精品久久久久久久一区二区 | 亚洲综合激情 | 国产1区2区| 成人在线国产 | 国产在线一区二区 | 亚洲精品一 | 日韩欧美在线播放 | 国产精品久久久久久久久久99 | 精品国产乱码久久久久久闺蜜 | 国产午夜久久 | 九九在线视频 | 美女福利视频 | 99精品99久久久久久宅男 | 精品国产乱码久久久久久图片 | 国内精品在线视频 | 久久r久久| 欧美国产日韩在线观看 | 国产精品视频一 | 久久久久久久久淑女av国产精品 | 免费在线视频一区二区 | 欧美日韩成人影院 | 激情五月综合 | 亚洲成人免费在线观看 | 日韩一级免费看 | 一区二区在线 | 欧美性生活一区二区三区 | 大伊人久久 | 日韩在线免费电影 | 国产精品视频在线播放 | 国产视频观看 | 国产 欧美 日韩 一区 | 依人成人 |