天天看点

面试题常问的Get与Post区别

面试题常问的Get与Post区别

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

(1)Get方式:

面试题常问的Get与Post区别
面试题常问的Get与Post区别
 (2)Post方式:
面试题常问的Get与Post区别
面试题常问的Get与Post区别
 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工具,然后分析请求行、请求实体等等)
面试题常问的Get与Post区别
面试题常问的Get与Post区别

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

面试题常问的Get与Post区别
面试题常问的Get与Post区别

 ❀ 文字描述:

面试题常问的Get与Post区别
面试题常问的Get与Post区别