CS结构中的HTTP协议

一般我们会使用HTTP协议作为客户端和服务器端进行通信的协议,那么HTTP究竟怎么工作的呢?

以下是OC创建连接的代码:

 NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:NSURLRequest  delegate:self];

      在HTTP 1.0 版本中,服务器端会有一个监听进程,它的任务是监听80端口有没有被访问,也就是有没有接到客户端发来的建立TCP连接请求。如果服务器的80端口被访问,则会通过三次握手与客户端建立TCP连接,并且在最后一次握手的时候,客户端向服务器发送HTTP请求报文。当服务器接收到请求报文时,服务器将会发送HTTP应答报文给客户端。当数据发送完毕后,则释放这个TCP连接。采用这种方式,每次发送请求和接收应答都要有数据传输时间和两次的往返时间,效率很低。为了避免这种问题,引入了HTTP1.1.

      而在HTTP1.1版本中则采用了持续连接这种方式,即不是立即释放这个TCP连接,而是采用复用和并行的思想,复用这个TCP连接继续发送报文。

问题是:

HTTP报文的长度是不固定的,那么每次应答报文的长度很长的时候,服务器和客户端将怎样进行流量控制呢?

服务器怎样控制并发的客户端访问呢?

posted @ 2011-04-24 01:07  樱色布  阅读(1499)  评论(0编辑  收藏  举报