1 HTTP请求
超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通讯。
HTTP 的工做方式是客户机与服务器之间的请求-应答协议。
好比,客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。
两种比较经常使用的HTTP请求方式:GET 和 POST。浏览器
2 GET方法 vs POST方法缓存
2.1 运行机制
Get 方法经过 URL 请求来传递用户的数据,Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,而且二者使用“?”链接,而各个变量之间使用“&”链接,如[url]http://www.baidu.com?a=1&b=xyz[/url],数据都会直接显示在 url 上;
Post 方法经过 HTTP post 机制,将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。安全
2.2 取值方法
GET $_GET[""]
post $_POST[""]服务器
2.3 对数据长度的限制
Get 方式传输的数据量很是小,通常限制在 2 KB 左右,这主要是由于受URL长度限制,可是执行效率却比 Post 方法好;
Post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了不对服务器用大量数据进行恶意攻击。post
2.4 安全性
Get 请求能够被缓存,被保留在浏览器历史记录中,还能够被收藏为书签,会带来安全问题,好比一个登录页面,经过 Get 方式提交数据时,用户名和密码将出如今 URL 上,若是页面能够被缓存或者其余人能够访问客户这台机器,就能够从历史记录得到该用户的账号和密码。
因此表单提交建议使用 Post 方法,尤为是在处理敏感数据时。url
2.5 对数据类型的限制
Get限制Form表单的数据集的值必须为ASCII字符;
Post支持整个ISO10646字符集。设计
2.6 后退按钮/刷新
在后退或者刷新的时候,POST请求的数据可能会被从新提交(浏览器应该告知用户数据会被从新提交,或采起措施避免从新提交数据)orm