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是发送数据到服务器作存储,适合于增删改操作

  • 相关阅读:
    anchor-free : CornerNet 和 CenterNet 简要笔记
    图像分割中的loss--处理数据极度不均衡的状况
    python 装饰器
    python3 新特性
    VSCode Eslint+Prettier+Vetur常用配置
    JS lodash学习笔记
    JS 高端操作整理
    Vue 组件通信
    Vue 搭建vue-element-admin框架
    小程序 HTTP请求封装
  • 原文地址:https://www.cnblogs.com/masterhxh/p/13692230.html
Copyright © 2011-2022 走看看