http协议是建立的TCP之上的,
他是在互联网上实现文件传输的基本协议,与之合作的协议还有DNS协议。
服务端:一个服务进程,不断监听80端口,
客户端:一般就是浏览器。
http是无连接的,无状态的协议。
请求一个万维网文档的过程(文字描述,比如请求http://www.baidu.com):
1.用dns来解析域名,获得对应的Ip地址
2.浏览器与服务器建立连接
3.浏览器发出获取文件命令:Get 首页
4.服务器做出响应,
5.释放TCP连接
请求一个文档所需要的时间开销:
文件传输所需要的时间+2个RTT(RTT代表一个来回所需要的时间,这里是指TCP的三次握手加上http的请求和响应)
http/1.1使用的是持续连接,就是在响应结束后在一段时间内保留这个连接。
代理服务器,他是一种网络实体,也叫做万维网的高速缓存。
http的报文结构
请求报文
响应报文
这一部分有详细的文章介绍
http://hi.baidu.com/sword0228/item/bfafab5fed188f424eff2093
cgi的简介
Common Gateway Interface,简称CGI。在物理上是一段程序,运行在服务器上,提供同客户端HTML页面的接口。这样说大概还不好理解。那么我们看一个实际例子:现在的个人主页上大部分都有一个留言本。留言本的工作是这样的:先由用户在客户端输入一些信息,如名字之类的东西。接着用户按一下“留言”(到目前为止工作都在客户端),浏览器把这些信息传送到服务器的CGI目录下特定的cgi程序中,于是cgi程序在服务器上按照预定的方法进行处理。在本例中就是把用户提交的信息存入指定的文件中。然后cgi程序给客户端发送一个信息,表示请求的任务已经结束。此时用户在浏览器里将看到“留言结束”的字样。整个过程结束。
功能
绝大多数的CGI程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。
运行环境
CGI程序最初在UNIX操作系统上CERN或NCSA格式的服务器上运行。
在其它操作系统(如:Windows NT及Windows 95等)的服务器上也广泛地使用CGI程序,同时它也适用于各种类型机器。
处理步骤
⑴通过Internet把用户请求送到服务器。
⑵服务器接收用户请求并交给CGI程序处理。
⑶CGI程序把处理结果传送给服务器。
⑷服务器把结果送回到用户。