接口与协议之总结(上)

1.Cs(Client/Server):客户端----服务器结构

优点:

能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,所以CS客户端响应速度快。

操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。  

C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。

安全性能可以很容易保证,C/S一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。

缺点:

需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。

兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。  

开发、维护成本较高,需要具有一定专业水准的技术人员才能完成,发生一次升级,则所有客户端的程序都需要改变。。

用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户

2.BS(Browser/Server):浏览器----服务器结构

优点:

分布性强,客户端零维护。只要有网络、浏览器,可以随时随地进行查询、浏览等业务处理。 

业务扩展简单方便,通过增加网页即可增加服务器功能。  

维护简单方便,只需要改变网页,即可实现所有用户的同步更新。 

开发简单,共享性强。

缺点:

个性化特点明显降低,无法实现具有个性化的功能要求。 

在跨浏览器上,BS架构不尽如人意。

客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度明显降低(Ajax可以一定程度上解决这个问题)。

在速度和安全性上需要花费巨大的设计成本。

功能弱化,难以实现传统模式下的特殊功能要求。

3.BS与CS优缺点对比

CS响应速度快,安全性强,用户体验好,一般应用于局域网中,但是开发维护成本高;BS可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢。所以有些单位日常办公应用BS,在实际生产中使用CS结构。

http请求方式

HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。

HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

GET  请求指定的页面信息,并返回实体主体。

HEAD     类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头

POST  向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。

PUT  从客户端向服务器传送的数据取代指定的文档的内容。

DELETE   请求服务器删除指定的页面。

CONNECT  HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

OPTIONS  允许客户端查看服务器的性能。

TRACE    回显服务器收到的请求,主要用于测试或诊断。

Get与post请求的区别

  1、GET将参数放在URL中。而POST将数据放在BODY中。

  2、GET的URL会有长度上的限制,而POST的数据则可以非常大。

  3、POST相比GET更安全,因为数据在地址栏上不可见。

  4、一般get请求用来获取数据,post请求用来发送数据。

HTTP之状态码

1xx:指示信息--表示请求已接收,继续处理

2xx:成功--表示请求已被成功接收、理解、接受 200

3xx:重定向--要完成请求必须进行更进一步的操作 charles本地修改

4xx:客户端错误--请求有语法错误或请求无法实现 403 404

5xx:服务器端错误--服务器未能实现合法的请求 500 503

常见类型例如:

200 OK                        //客户端请求成功

400 Bad Request               //客户端请求有语法错误,不能被服务器所理解

401 Unauthorized              //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用

403 Forbidden                 //服务器收到请求,但是拒绝提供服务

404 Not Found                 //请求资源不存在,eg:输入了错误的URL

500 Internal Server Error     //服务器发生不可预期的错误

503 Server Unavailable        //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

全部状态码:http://www.runoob.com/http/http-status-codes.html

Session和Cookie的区别

Cookie是把数据保存在浏览器端的内存中

Session把数据保存在服务器端的内存中

cookie与session的联系:

当服务器端生成一个session时就会向客户端发送一个cookie保存在客户端,这个cookie保存的是session的sessionId。。这样才能保证客户端发起请求后客户端已经登录的用户能够与服务器端成千上万的session中准确匹配到已经保存了该用户信息的session,同时也能够确保不同页面之间传值时的正确匹配。

上一篇:4. web安全之sql注入(4)


下一篇:linux上redis的清理命令使用