zoukankan      html  css  js  c++  java
  • 比较 GET 与 POST

    post比get安全

    get请求方法向url添加数据

     全部用POST不是十分合理,最好先把请求按功能和场景分下类,

    对数据请求频繁,数据不敏感且数据量在普通浏览器最小限定的2k范围内,这样的情况使用GET。

    其他地方使用POST。

    我就疑惑了,为什么post这么好还用get呢

    因为它们表达的语义不一样,这决定了主干网络可以对其做不同的处理。
    
    get表达的是一种幂等的,只读的,纯粹的操作,即它除了返回结果不应该会产生其它副作用(如写数据库),因此绝大部分get请求(通常超过90%)都直接被CDN缓存了,这能大大减少web服务器的负担。
    而post所表达的语义是非幂等的,有副作用的操作,所以必须交由web服务器处理。 把所有get请求换成post,意味着主干网络上的所有CDN都废掉了,web服务器要处理的请求数量将成百上千倍地增加,显然这不是一个聪明的做法!

      

    最大的优势是, GET 的URL可以人肉手输啊。。。你在地址栏打个POST给我看看。本质上面, GET 的所有信息都在URL, 所以很方便的记录下来重复使用。
    
    所以如果你希望
    - 请求中的URL可以被手动输入
    - 请求中的URL可以被存在书签里,或者历史里,或者快速拨号里面,或者分享给别人。
    - 请求中的URL是可以被搜索引擎收录的。
    - 带云压缩的浏览器,比如Opera mini/Turbo 2, 只有GET才能在服务器端被预取的。
    - 请求中的URL可以被缓存。
    
    请使用GET. 
    
    大家有没有注意到,其实这里面很多方面的要求是和网站的运营相关的,而不是技术相关的。任何的技术行为中,其实多多少少都能看到商业的影子。
    

     只读用get,可以保存数据到缓存中,减少服务器负担

     https://www.cnblogs.com/strayling/p/3580048.html

    这个连接说的更详细

    除了有安全性要求的地方,可以用get尽量用get,获取静态数据用get

  • 相关阅读:
    jdk1.8 -- 方法推导 静态方法、实例方法、构造方法推导
    java23种设计模式之五:代理模式
    区块链共识机制:POW、POA、POS、DPOS、PBFT、DBFT
    Backen-Development record 1
    记录一下哈希表底层原理
    总结区块链系统运行过程
    认识一下区块链
    Django:模板template(二)
    Django:模板template(一)
    Django:视图views(三)
  • 原文地址:https://www.cnblogs.com/rong88/p/10768554.html
Copyright © 2011-2022 走看看