zoukankan      html  css  js  c++  java
  • Get与Post请求的区别

    GetPost请求的区别

    1、参数传递方式

    Get:通过Url传递参数,Url与参数之间用?隔开,多个参数之间用&隔开,也是表单的默认提交方式。

     

    Post:所有操作对用户来说都是不可见的,相对于get方式更安全。

     

    2、传送数据量大小不同

    Get传送的数据量较小,这主要是因为受URL长度限制;Post传送的数据量较大,一般被默认为不受限制。

    3、信息缓存

    Get提交的信息能被缓存,请求保留在浏览器历史记录中;Post提交的数据一般不能被缓存,请求不会保留在浏览器历史记录中。

    4、编码方式与乱码处理问题

    Get:默认编码编码类型是:application/x-www-form-urlencodedTomcat8之前的版本,默认编码格式是iso-8859-1,从Tomcat8版本之后默认编码改为UTF-8,所以如果是Tomcat8及以上版本就不需要进行转码处理,如果是Tomcat7及之前版本可以使用以下方法进行转码:

    String name = request.getParameter("name");

    String encodingName=new String(name.getBytes("iso-8859-1"),"utf-8");

    Post:支持多种编码类型,application/x-www-form-urlencoded multipart/form-data。可以使用以下方法进行转码:

    request.setCharacterEncoding("utf-8");

    在这里顺便说一下响应的乱码处理方法,后面我们还会详细讲解:

    response.setContentType("text/html;charset=utf-8");

    总结:

    Get参数会直接显示到URL不安全,Post在请求主体中,比较安全。

    Get传送数据量大小有限制,根据浏览器不同限制不同,一般为2KB-6KBPost无限制。

    Get缓存数据会直接将参数缓,保留在浏览器历史记录中,不安全。Post缓存时不缓存参数,不保 留在浏览器记录中

    Get只能有一个种编码方式,转码的时候使用字符串转字节的方式,Post支持多种编码方式,转码直接使用setCharacterEconding()即可。

    由于Get具有缓存功能,一般用来直接获取数据,提高查询速度; Post是发送数据到服务器作存储,适合于增删改操作

  • 相关阅读:
    sql server数据库中char,varchar,nvarchar字段的区别
    在Notepad++中为Python配置编译环境
    react-navigation笔记
    React Native之语法规范
    Node.js学习笔记
    Java与C#对照笔记
    iOS常用配置注意事项
    React Native之RNRF框架源码解析
    React Native之Redux相关
    keytool常用方法
  • 原文地址:https://www.cnblogs.com/masterhxh/p/13692230.html
Copyright © 2011-2022 走看看