1、现代网络应用程序两种主流体系结构:
1.1.客户机/服务器体系结构:通常是基础设施密集的,因为需要有强大的服务器场;服务器有固定、周知的IP地址;客户机之间不直接通信。
1.2 P2P体系结构:大多数流量密集型应用是P2P的。有自扩展性成本有效,不需要庞大基础设施。因为高度分布和开方,需要额外注意安全。
1.3有些应用有混合结构。
2、HTTP协议:定义了报文的格式以及客户机和服务器之间如何进行报文交换。
2.1概念
2.1.1 URL地址:由服务器主机名和对象(对象简单来说是文件)路径名组成。
2.1.2 Web页面:多数Web页面含有一个基本HTML文件以及几个对象的引用。基本HTML文件中通过对象URL地址对对象进行引用。
2.1.3 HTTP服务器通常是无状态的。
Cookie技术可以保存客户机信息,可以在无状态HTTP上建立一个用户会话层。服务器收到第一次请求报文时生成cookie码,响应报文发给客户机。客户机浏览器储存cookie码和服务器主机名,下次访问服务器时传输cookie码。
2.2持久连接:HTTP默认用持久连接,可以用非持久连接。
2.2.1非持久连接每个TCP连接只传输一个请求报文和响应报文,而每次TCP建立连接都要三次握手。这样效率很低。
2.2.2持久连接情况下服务器发送相应后保持TCP连接打开,一个完整Web页面可以用单个持久TCP连接传送。默认方式下大部分浏览器打开5~10个并行TCP连接。也可以设置为串行。
2.3 HTTP报文
2.3.1 HTTP请求报文
2.3.1.1请求行:
①方法字段:如果是GET,可以在get方法两个字段写monkeys和bananas,URL变成
www.somesite.com/animalsearch?monkeys&bananas。可用于传递参数。;
如果是POST常在用户提交申请表单时使用,比如向搜索引擎提供关键字。