时间: 2021-07-31 作者:daque
还好吗从效劳器赢得消息
历次存户端须要url来对应cgi步调,效劳器将及时实行它。步调将径直输入到存户端。对于cgi的公用的曲解是你不妨发送吩咐行选项和参数给你的步调,比方:
command% myprog -qa blorf
cgi为其它手段运用吩咐行,如许是不大概。差异,cgi运用情况变量来发送给步调它的参数。两个要害的情况参数是:query_string和path_info。
query_string被设置为在url中跟在第一个?反面的实质。这个消息不妨由isindex文书档案大概经过html表单(运用get action)来减少。它同样不妨手动嵌入html锚,这个html锚不妨援用你的网关。这个字符串即是一个消息查问,比方用户想探求archie数据库大概是你的反应get表单的源代码截止。
这个字符串被在规范的url源代码,其方法将空格变换为+,并将特出的字符运用%xx十六进制源代码。你为了运用它必需对它举行源代码。
即使你的网关不是从表单来的源代码截止,你同样不妨运用吩咐行获得查问字符串。这就表示着查问字符串的每一个单词将在argv的各别局部。比方,查问字符串"forms rule"将以argv[1]="forms" 和 argv[2]="rule"传播给步调。即使你采用这个,你在运用它之前不用做任何的处置。
底下讲讲path_info 。cgi承诺为你的网关在url中嵌入特殊的消息,这个网关不妨用来传播特殊的消息给剧本。这个消息常常是处在url的网关路途之后的特殊消息。这个消息不许在效劳器中以任何的本领来源代码。
最亦用的path_info例子是传播文献场所给cgi步调。为了阐明这个,假如咱们有一个cgi步调在效劳器中,名为/cgi-bin/foobar,它不妨处置在效劳器的documentroot中的文献。这时候我须要报告foobar哪个文献要被处置。经过囊括特殊的路途消息到url的结束,foobar经过path_info情况变量就领会了文书档案场所关系的documentroot,大概经过path translated情况变量(效劳器为你爆发的)来领会文书档案的如实路途。