zoukankan      html  css  js  c++  java
  • GET 与 POST 的理解

    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请求的数据可能会被重新提交(浏览器应该告知用户数据会被重新提交,或采取措施避免重新提交数据)

  • 相关阅读:
    SDL 开发实战(三):使用 SDL 绘制基本图形
    SDL 开发实战(二):SDL 2.0 核心 API 解析
    SDL 开发实战(一):SDL介绍及开发环境配置
    开源播放器 ijkplayer (六) :Android 下使用 ijkplayer 异常处理思路
    音视频编解码技术(二):AAC 音频编码技术
    FFmpeg开发实战(五):FFmpeg 抽取音视频的视频数据
    FFmpeg开发实战(四):FFmpeg 抽取音视频的音频数据
    FFmpeg开发实战(三):FFmpeg 打印音视频Meta信息
    FFmpeg开发实战(二):FFmpeg 文件操作
    FFmpeg开发实战(一):FFmpeg 打印日志
  • 原文地址:https://www.cnblogs.com/zdan68/p/3862686.html
Copyright © 2011-2022 走看看