zoukankan      html  css  js  c++  java
  • 话说GET与POST那点恩怨

    看过很多人写GETPOST之间的区别,为什么这么多人关注它们呢?因为它们是最常用的两种HTTP方法,之间有很多相同之处,也存在非常大的不同。首先了解一下HTTP方法:

      什么是HTTP?     超文本传输协议(HTTP)的实际目的是保证客户机与服务器之间的通讯,即请求-应答协议。web浏览器可能是客户端,而计算机上的应用程序也可能是服务端。举例:客户端(浏览器)向服务器提交HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。

      而GETPOST正是此功能最常用的两种方法:1GET- 从指定的资源请求数据;2POST- 向指定的资源提交被处理的数据,其实就是这两个英文的翻译吧!

      看看这两种方法的比较:

    GET

    POST

    后退按钮/刷新

    无害

    数据会被重新提交(浏览器应该告知用户数据会被重新提交)。

    书签

    可收藏为书签

    不可收藏为书签

    缓存

    能被缓存

    不能缓存

    编码类型

    application/x-www-form-urlencoded

    application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。

    历史

    参数保留在浏览器历史中。

    参数不会保存在浏览器历史中。

    对数据长度的限制

    是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。

    无限制。

    对数据类型的限制

    只允许 ASCII 字符。

    没有限制。也允许二进制数据。

    安全性

    与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。

    在发送密码或其他敏感信息时绝不要使用GET !

    POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。

    可见性

    数据在 URL 中对所有人都是可见的。

    数据不会显示在 URL 中。

    在JQuery中语法

    $.get(URL,callback);

    $.post(URL,data,callback);

       例子:GET:

    <!DOCTYPE html>  
    <html>  
        <head>  
            <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>  
            <script>  
                $(document).ready(function(){  
                  $("button").click(function(){  
                    $.get("/example/jquery/demo_test.asp",function(data,status){  
                      alert("数据:" + data + "
    状态:" + status);  
                    });  
                  });  
                });  
            </script>  
        </head>  
        <body>  
            <button>向页面发送 HTTP GET 请求,然后获得返回的结果</button>  
        </body>  
    </html>  
     

      POST:

     <!DOCTYPE html>  
        <html>  
        <head>  
            <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">  
            </script>  
            <script>  
                $(document).ready(function(){  
                  $("button").click(function(){  
                    $.post("/example/jquery/demo_test_post.asp",  
                    {  
                      name:"Donald Duck",  
                      city:"Duckburg"  
                    },  
                    function(data,status){  
                      alert("数据:" + data + "
    状态:" + status);  
                    });  
                  });  
                });  
            </script>  
        </head>  
        <body>  
            <button>向页面发送 HTTP POST 请求,并获得返回的结果</button>  
        </body>  
    </html>  
      综上为简单的GETPOST之间的恩怨诉说,很多之间的区别必须等我们实践过,对比过,才能体会的更深,这里只是提前知道一下!更多的还需要我们在项目中时间来体会的更多!
  • 相关阅读:
    channel分析
    Nginx|基础
    item2
    搜索引擎技巧
    计算机网络|概述
    操作系统|进程
    分布式事务一致性
    画图工具StartUML
    内存分配
    MPG分析
  • 原文地址:https://www.cnblogs.com/huangcongcong/p/4746591.html
Copyright © 2011-2022 走看看