zoukankan      html  css  js  c++  java
  • get和post的区别

    •   GET和POST长度的限制问题

        GET:

        1、GET是通过URL提交数据,因此GET可提交的数据量就跟URL所能达到的最大长度有直接关系

        2、实际上HTTP协议对URL长度是没有限制的;限制URL长度大多数是浏览器或者服务器的配置参数

        POST:

        1、同样的,HTTP协议没有对POST进行任何限制,一般是受服务器配置限制或者内存大小

        2、PHP下可以修改php.conf的postmaxsize来设置POST的大小

    • GET和POST的安全性

        1、GET是通过URL方式请求,可以直接看到,明文传输

        2、POST是通过请求header请求,可以开发者工具或者抓包可以看到,同样也是明文的

        3、GET请求会保存在浏览器历史纪录中,还可能会保存在Web的日志中

    • GET幂等/POST不幂等

        幂等是指同一个请求方法执行多次和仅执行一次的效果完全相同。

    1. GET后退按钮/刷新无害,POST数据会被重新提交(浏览器应该告知用户数据会被重新提交)。
    2. GET书签可收藏,POST为书签不可收藏。       (???)
    3. GET能被缓存,POST不能缓存 。       (get相当于查询,缓存有效果;post相当于增删改,每次的数据不一样,缓存没有作用)
    4. GET编码类型application/x-www-form-url,POST编码类型encodedapplication/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。
    5. GET历史参数保留在浏览器历史中。POST参数不会保存在浏览器历史中。   (???)
    6. GET对数据长度有限制,当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。POST无限制。
    7. GET只允许 ASCII 字符。POST没有限制。也允许二进制数据。
    8. 与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝不要使用 GET !POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。
    9. GET的数据在 URL 中对所有人都是可见的。POST的数据不会显示在 URL 中。




     

  • 相关阅读:
    KMP算法的Next数组详解(转)
    公开封尘已久的即时通讯源码(转)
    《C语言编写 学生成绩管理系统》
    随想录(从编程语言到库、框架、软件)
    Effective Objective-C 2.0 笔记三(Literal Syntax简写语法)
    Java Swing 探索(一)LayoutManager
    Codeforces Round #FF 446 C. DZY Loves Fibonacci Numbers
    ARM体系结构与编程
    div:给div加滚动栏 div的滚动栏设置
    DS18B20
  • 原文地址:https://www.cnblogs.com/chengchengla1990/p/9004797.html
Copyright © 2011-2022 走看看