面试题常问的Get与Post区别

简介: 面试题常问的Get与Post区别

1、两者的地址状态栏和请求实体对比:


(1)Get方式:

36.png37.png

2,总结Get和Post的区别:



1,区别:

(1)Get请求的数据(参数)会显示在地址栏,而Post不会,所以,Post比Get更加安全。

(2)Post请求的参数存放到了请求实体中而Get没有请求实体,Get是存储在请求行中。

(3)数据传输Post有优势:Get方式请求的数据不能超过2k,而Post 没有上限

(4)浏览缓存Get有优势:Get具有数据缓存,而Post没有。

从优势角度看,数据传输使用Post,数据浏览查询使用Get。即查询时使用Get,其他时候使用Post。表单全部使用Post提交。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2,Get方式:

1,直接在浏览器地址栏敲回车

2,表单中,method="get"

3,超链接

 

3,注意点:

注意点:只有表单中使用method=post,才是Post方式,不写默认是Get。

 

form表单get方式提交时,action中带参数传递不了

□ 举例:    <form action="/shoppingcart?cmd=save" method="get">

□ 结果: 参数save无法传递过去,在shoppingcartServlet 中 获取cmd参数结果是null

□ 解决:方式一:将请求方式改为:post   

   方式二:通过隐藏的input标签来携带参数  <input name="cmd" type="hidden" value="save">

分析一下action携带参数为啥get请求传递不过去(需要使用工具----firebug工具,然后分析请求行、请求实体等等)


38.png39.png

 

 

 

 

补充一下:Servlet请求的浏览:


40.png41.png


 

❀ 文字描述:

42.png

43.png



目录
相关文章
|
1天前
|
Java
【Java基础面试十一】、int和Integer有什么区别,二者在做==运算时会得到什么结果?
这篇文章解释了Java中`int`基本数据类型和其包装类`Integer`之间的区别,并指出在进行`==`运算时,`Integer`会拆箱为`int`类型,然后比较它们的值是否相等。
【Java基础面试十一】、int和Integer有什么区别,二者在做==运算时会得到什么结果?
|
1天前
|
JavaScript 前端开发 编译器
【Vue面试题三十二】、vue3有了解过吗?能说说跟vue2的区别吗?
这篇文章介绍了Vue 3相对于Vue 2的改进和新增特性,包括性能提升、体积减小、更易维护、更好的TypeScript支持、新的Composition API、新增的Teleport和createRenderer功能,以及Vue 3中的非兼容性变更和API的移除或重命名。
【Vue面试题三十二】、vue3有了解过吗?能说说跟vue2的区别吗?
|
1天前
|
Java
【Java基础面试二十三】、==和equals()有什么区别?
这篇文章区分了Java中的`==`运算符和`equals()`方法:`==`用于基本数据类型时比较值是否相等,用于引用类型时比较内存地址是否相同;而`equals()`默认实现按内存地址比较,但通常被重写以根据对象内容比较是否相等。
【Java基础面试二十三】、==和equals()有什么区别?
|
1天前
|
Java
【Java基础面试十八】、说一说重写与重载的区别
这篇文章阐述了Java中重写与重载的区别:重载是同一个类中方法名相同但参数列表不同的方法之间的关系,而重写是子类中方法与父类中相同方法名和参数列表的方法之间的关系,且子类的返回值应小于等于父类,访问修饰符应大于等于父类。
【Java基础面试十八】、说一说重写与重载的区别
|
1天前
|
存储 Java
【Java基础面试六】、请介绍全局变量和局部变量的区别
这篇文章介绍了Java中成员变量(通常被称作全局变量)和局部变量的区别,包括它们的定义范围、默认初始值、存储位置和生命周期。
【Java基础面试六】、请介绍全局变量和局部变量的区别
|
1天前
|
JavaScript API
【Vue面试题十】、Vue中组件和插件有什么区别?
这篇文章阐述了Vue中组件和插件的区别,指出组件主要用于构建应用程序的业务模块,而插件用于增强Vue本身的功能,两者在编写形式、注册方式和使用场景上有所不同。
【Vue面试题十】、Vue中组件和插件有什么区别?
|
1天前
|
Java
【Java基础面试三十三】、接口和抽象类有什么区别?
这篇文章阐述了Java中接口和抽象类的区别:接口定义规范,可以被多个类实现,而抽象类是一种模板设计,可以包含具体实现;接口不能包含普通方法实现和成员变量,而抽象类可以;一个类只能继承一个抽象类,但可以实现多个接口。
|
1天前
|
Java
【Java基础面试二十六】、说一说String和StringBuffer有什么区别
这篇文章区分了Java中的String和StringBuffer类:String是不可变类,一旦创建字符序列就不能改变;而StringBuffer代表可变的字符串,可以通过其方法修改字符序列,最终可以通过`toString()`方法转换为String对象。
|
1天前
|
安全 Java
【Java基础面试二十七】、说一说StringBuffer和StringBuilder有什么区别
这篇文章介绍了Java中StringBuffer和StringBuilder的区别:StringBuffer是线程安全的,而StringBuilder是非线程安全的,因此在单线程环境下优先推荐使用StringBuilder以获得更好的性能。
|
7天前
|
存储 关系型数据库 MySQL
一天五道Java面试题----第八天(怎么处理慢查询--------->简述Myisam和innodb的区别)
这篇文章是关于Java面试中关于数据库性能优化和MySQL特性的五个问题,包括处理慢查询、ACID特性保证、MVCC概念、MySQL主从同步原理以及MyISAM和InnoDB存储引擎的区别。