C/S (Client/Server)结构
即大家熟知的客户机和服务器结构,它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据;另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信。
- 优点:
1、C/S架构的界面和操作可以很丰富。
2、安全性能可以很容易保证,实现多层认证也不难。
3、由于只有一层交互,因此响应速度较快。 - 缺点:
1、适用面窄,通常用于局域网中。
2、用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户。
3、维护成本高,发生一次升级,则所有客户端的程序都需要改变。
B/S(Browser/Server)结构
即浏览器和服务器结构,它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。
- 优点:
1、客户端无需安装,有Web浏览器即可。
2、BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。
3、BS架构无需升级多个客户端,升级服务器即可。 - 缺点:
1、在跨浏览器上,BS架构不尽如人意。
2、表现要达到CS程序的程度需要花费不少精力。
3、在速度和安全性上需要花费巨大的设计成本,这是BS架构的最大问题。
4、客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。(在Ajax风行后此问题得到了一定程度的缓解)
HTTP常见状态码
100-199 客户端应相应的某些动作。
200-299 请求成功。
300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。
400-499 客户端的错误。
500-599 服务器内部错误。
200 (SC_OK)的意思是一切正常。一般用于相应GET和POST请求。
301 (SC_MOVED_PERMANENTLY)页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。网址重定向最为可行的一种办法。
403 (Forbidden/禁止)意思是除非拥有授权否则服务器拒绝提供所请求的资源。这个状态经常会由于服务器上的损坏文件或目录许可而引起。
404 (Not Found/未找到)他告诉客户端所给的地址无法找到任何资源。它是表示“没有所访问页面”的标准方式。
500 (Internal Server Error/内部服务器错误)是常用的“服务器错误”状态。
502 (Bad Gateway/错误的网关)被用于充当代理或网关的服务器;该状态指出接收服务器接收到远端服务器的错误响应。
503 (Service Unavailable/服务无法获得)状态码503 (SC_SERVICE_UNAVAILABLE)表示服务器由于在维护或已经超载而无法响应。
504 (Gateway Timeout/网关超时)该状态也用于充当代理或网关的服务器;它指出接收服务器没有从远端服务器得到及时的响应。