如果你对web服务器编程和linux环境下perl cgi编程感兴趣,建议你阅读下面内容,即使没有cgi开发经验,只要了解perl语言,就不会感觉困难。由于我第1次写作blog文章,如有错误请指出,谢谢。
http消息分为2种,客户机发送给服务器的http请求以及服务器回送给客户机的http响应.
这2者都由 一个必不可少的头(由一些要求的和许多可选的头行组成) + 一个可选的主体(要传输的文档) 构成.以下是获取头和主体的各种方法。
get:从服务器获取头和主体
get /index.html.http/1.1
host:www.myserver.com
head:只获得资源头
head /index.html.http/1.1
host:www.myserver.com
put:在http主体中发送信息给服务器
put /doc/newdoc.html http/1.1
host:www.myserver.com
content-length:2043
<html>
...........................
post:在http主体中发送信息给服务器
post /index.html.http/1.1
host:www.myserver.com
content-length:23
roses=red&violets=blue
trace:跟踪一个http请求---响应交换,不是一个用于正常请求的方法
trace * http/1.1
host:www.myserver.com
delete:出于安全考虑,一般服务器不支持此方法
delete:/doc/olddoc.html http/1.1
host:www.myserver.com
post用于发送cgi脚本这样的服务器应用程序将处理,以创建资源(例如在服务器上的进程,为每个用户创建进程也成为人们指责cgi的重要原因)的内容,url指明了数据发送的应用程序,比如如果表单数据超过了256个字符,将不能用get方法,而只能使用post。
put指示正在创建一个由url描述的新资源。url描述了新资源,并且可以同随后的get请求一起来检索它。
http响应: http状态行(http协议,响应码) + 描述响应类型的3位数 + 响应的文本描述
eg: http/1.1 200 ok