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 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击。

2.4 安全性
Get 请求可以被缓存,被保留在浏览器历史记录中,还可以被收藏为书签,会带来安全问题,比如一个登陆页面,通过 Get 方式提交数据时,用户名和密码将出现在 URL 上,如果页面可以被缓存或者其他人可以访问客户这台机器,就可以从历史记录获得该用户的帐号和密码。
所以表单提交建议使用 Post 方法,尤其是在处理敏感数据时。

2.5对数据类型的限制
Get限制Form表单的数据集的值必须为ASCII字符;
Post支持整个ISO10646字符集。

2.6 后退按钮/刷新
在后退或者刷新的时候,POST请求的数据可能会被重新提交(浏览器应该告知用户数据会被重新提交,或采取措施避免重新提交数据)

更多相关文章

  1. PHP编程调试方法总结
  2. 巧用PHP中__get()魔术方法
  3. php 实现下载的方法
  4. ThinkPHP的create方法的一系列操作
  5. php写app接口并返回json数据
  6. MySQL错误1046:未选择数据库
  7. 社交登录实现的数据库结构?
  8. 评论: 网页浏览速度提高切实可行的七个方法
  9. Json调用JSON.parse:意外结束数据

随机推荐

  1. Mybaitis缓存的优化
  2. 分布式系统架构常见面试知识点梳理(每次面
  3. 图解源码 | SpringBoot中自动配置原理
  4. 单例模式你会几种写法?
  5. 一步为你的Springboot应用自定义banner
  6. 工厂模式理解了没有?
  7. 你的Springboot应用到底启动了哪些bean?这
  8. 单例模式的十种写法,你会几个?
  9. 我在一个构造方法中写了30个参数,老板看了
  10. android:windowSoftInputMode属性详解以