5.44.1. What is CGI? #
CGI is currently maintained by NCSA. NCSA defines CGI as follows:
CGI (Common Gateway Interface), a universal gateway interface, is a program that runs on a server, such as a HTTP server, and provides an interface withclient HTML pages.
5.44.2. Web browsing #
To better understand how CGI works, we can start from clicking a link or URLprocess on a web page:
1.Use your browser to access URL and connect to the HTTP web server.
2.After receiving the request information, the Web server parses the URL and finds whether the accessed file exists on the server. If there is a content of the returned file, an error message is returned.
3.The browser receives information from the server and displays the received files or error messages.
CGI programs can be Python scripts, PERL scripts, SHELL scripts, C or C++ programs, etc.
5.44.3. CGI architecture diagram #
5.44.4. Web server support and configuration #
Before you do CGI programming, make sure your Web server supports CGI and isconfigured with CGI handlers.
Apache supports CGI configuration:
Set up the CGI directory:
ScriptAlias /cgi-bin/ /var/www/cgi-bin/ All HTTP server execution CGI programs are saved in a preconfigured directory. This directory is called the CGI directory, and by convention, itis named /var/www/cgi-bin catalogue.
The extension of the CGI file is .cgi Perl can also be used .pl extension name.
By default, the Linux server configures the cgi-bin in the directory for /var/www .
If you want to specify a different directory to run the CGI script, you can modify it httpd.conf configuration file, as follows:
<Directory "/var/www/cgi-bin"> AllowOverride None Options +ExecCGI Order allow,deny Allow from all Directory> In AddHandler Add in .pl suffix so that we can access the .pl of the Perl script file at the end:
AddHandler cgi-script .cgi .pl .py
5.44.5. The first CGI program #
Let’s create a test.cgi file, the code is as follows:
Test.cgi code #
#/ Usr/bin/perlprint "Content type: text/html r n r n"; Print ''; Print ''; Print ' Charset="utf-8">'; Print '<title>Rookie Tutorial (runoob. com)title>'; Print 'head>'; Print '<body>'; Print '<h2>Hello Word H2>'; From the first CGI in the rookie tutorial Program p> '; Print 'body>'; Print 'html>'; 1; Then open http://localhost/cgi-bin/test.cgi through a browser, and the output is as follows:
The output attribute of the first line of the script "Content-type:text/html\r\n\r\n" is sent to the browser, and the browser is informed that the displayed attribute type is text/html``
5.44.6. HTTP header #
In the attributes of the test.cgi file "Content-type:text/html" . That is, part of the HTTP header, which is sent to the browser to tell the browser the content type ofthe file.
The format of the HTTP header is as follows:
HTTP Field Name: Field Properties
For example:
Content-type:text/html\r\n\r\n
-
1. Angularjs2
8
-
1. SVG tutorial
19
-
1. Memcached
20
-
1. C# tutorial
61
-
1. Sqlite
47
-
2. Go
43
-
2. Docker
59
-
2. Vue3
19
-
2. Servlet
21
-
3. React
23
-
3. SOAP tutorial
10
-
3. Android
18
-
3. Mongodb
44
-
3. Kotlin
18
-
4. Lua
31
-
4. MySQL tutorial
35
-
4. Appml
12
-
5. Perl
45
-
5.30. Perl operator
-
5.5. Perl data type
-
5.15. Perl UNLESS…ELSE statement
-
5.6. Perl variable
-
5.2. Perl introduction
-
5.24. Perl loop nesting
-
5.31. Perl time date
-
5.43. Perl database connection
-
5.37. Perl error handling
-
5.46. Perl process management
-
5. Postgresql
41
-
web
15
-
5. Web Services tutorial
6
-
6. Ruby
42
-
6. Design-pattern
35
-
7. Django
18
-
7. Rust
22
-
6. WSDL tutorial
8
-
8. Foundation
39
-
9. Ios
43
-
8. Css3
26
-
9. Swift
44
-
11. HTML tutorial-(HTML5 Standard)
54
-
12. Http
6
-
13. Regex
6
-
14. Regexp
8
《地理信息系统原理、技术与方法》
97
最近几年来,地理信息系统无论是在理论上还是应用上都处在一个飞速发展的阶段。 GIS被应用于多个领域的建模和决策支持,如城市管理、区划、环境整治等等,地理信息成为信息时代重要的组成部分之一; “数字地球”概念的提出,更进一步推动了作为其技术支撑的GIS的发展。 与此同时,一些学者致力于相关的理论研究,如空间感知、空间数据误差、空间关系的形式化等等。 这恰好说明了地理信息系统作为应用技术和学科的两个方面,并且这两个方面构成了相互促进的发展过程。
-
1. Introduction to geographic information system
6
-
2. From the Real World to the Bit World
3
-
3. Spatial Data Model
7
-
4. 空间参照系统和 地图投影
5
-
5. Data in GIS
3
-
6. Spatial data acquisition
2
-
7. Spatial Data Management
6
-
8. Spatial analysis
8
-
9. 数字地形模型( DTM )与地形分析
5
-
10. 空间建模与 空间决策支持
6
-
11. Spatial data representation and map making
6
-
12. 3S Integration Technology
5
-
13. 网络地理信息系统
3
-
14. Examples of Geographic Information System Application
8
-
15. Organization and Management of Geographic Information System Application Projects
9
-
16. Geographic Information system Software Engineering Technology
6
-
17. Geographic Information System Standards
3
-
18. Geographic Information System and Society
3
-
19. Earth Information Science and Digital Earth
3