Web基础——URL组成

1.协议

Web客户端和服务器之间的交互基于文本的应用级协议,HTTP协议。Http协议是基于TCP/IP的,对网页连接进行抓包,首先会进行TCP/IP的三次握手。

2.Web内容

使用HTML语言编写,包含指令,告诉浏览器如何显示文本和图像对象。包含动态内容静态内容。

服务动态内容:运行可执行文件并返回输出到客户端。eg: http://bluefish.ics.cs.cmu.edu:8000/sgi-bin/adder?15000&213

服务静态内容:去磁盘文件返回给客户端。eg: http://www.google.com:80/index.html

组成分析:www.google.com:80是客户端使用的前缀,决定服务器在哪里及其端口。后面是静态内容或可执行文件。“?”字符分隔文件名和参数,不同参数用“&”连接,参数不允许有空格,必须用“%20”表示。URL是域名的时候(www.google.com),浏览器在URL后面扩展缺失的“/”,并将之传给服务器(www.google.com/),服务器又把“/”扩展到某个默认的文件名(默认主页)(www.ggg.com/index.html)。

3.服务动态内容过程

服务器接受请求:GET /cgi-bin/adder?15000&213 HTTP/1.1

调用fork创建子进程,并调用execve在子进程中执行/cgi-biin/adder程序,像adder这样的程序,常长被称为CGI程序,因为它遵循CGI标准的规则。子进程将CGI环境变量设置为“15000&213”,adder程序在运行时可用Linux getenv函数来引用。

CGI将动态内容发送到标准的输出,在子进程加载并运行CGI程序之前,它使用Linux dup2函数将标准输出重定向到与客户端关联的连接描述符。

任何CGI程序的标准输出都会到达客户端。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值