zoukankan      html  css  js  c++  java
  • django post和get 比较

      当我们提交表单仅仅需要获取数据时就可以用GET; 而当我们提交表单时需要更改服务器数据的状态,或者说发送e-mail,或者其他不仅仅是获取并显示数据的时候就使用POST。 在这个搜索书籍的例子里,我们使用GET,因为这个查询不会更改服务器数据的状态。

      '''GET是通过URL传给服务器的,POST是通过HTTP头传给服务器的,post的数据是不跟在请求的url后,而是在http头中,get是在url中

    post的安全性比get高,因为有的服务器会缓存get数据,post数据不会被缓存,而且当你再次刷新提交结果时,浏览器会弹出安全提示对话框。

    另外,get和post有一些数据格式的区别,比如说上载文件,你只能使用post方法,并且enctype只能设置成multipart/form-data。'''

    POST:  django中的login用POST方法,浏览器绑定的表单数据编码之后送给服务器,然后接受从服务器的request

    GET:  相反的, get把提交的数据绑定为一个字符串,然后组成一个url,这个url包括数据被送到的地址也包括数据的key和value

      GET POST通常用于不同的目的,任何可以用来改变系统状态的请求,例如,一个可以引起数据库变化的请求应该用post,get应该只用于不改变系统状态的请求

      get也不是和密码表单,应为密码会出现在url中,因此也会出现在浏览器记录和服务器日志中他们都是纯文本(不加密),

      同时get也不是用与大量的数据或者二进制的数据,例如图片, 一个web站点admin用get request存在安全隐患,攻击者很容易模仿一个表单的请求获得系统敏感部分的权限

      POST再加上其他像django的csrf protection提供访问控制

  • 相关阅读:
    匿名方法、Lambda表达式、Func<>委托
    日期相关
    6个重要的概念:栈,堆,值类型,引用类型,装箱,拆箱
    linux 命令行cd dvd iso操作
    wkhtmltopdf错误解决办法
    lxml包引入错误
    安装python-ldap fatal error: lber.h: No such file or directory
    用pyenv和virtualenv搭建单机多版本python虚拟开发环境
    在Ubuntu上安装pyenv 相关问题Common build problems
    在Ubuntu上安装pyenv
  • 原文地址:https://www.cnblogs.com/xuchunlin/p/6045272.html
Copyright © 2011-2022 走看看