post和get的区别

来源:互联网 发布:windows gcc搭建 编辑:程序博客网 时间:2024/06/05 20:06

  今天面试面试官提到get和post的请求,然后怎么在服务器端怎么分别获取的,

然后说说我的回答,我说get和post请求首先他们的携带数据量是不一样的,然后

get请求是在url后面添加信息,post请求的请求信息是放在请求体里面的 哭脸.jpg

然后在servlet里面获取都使用request.getParameter(),尴尬.jpg,废话不多直接写

查询资料后的理解。

      首先很多地方讲的是get用于获取服务器上的数据,post是用于向服务器提交

数据,看到这句话当时我就很不理解,后来就思考了一下,http协议其实每次交互

都有一次请求和响应的过程,上面说的get和post的区别就是get和post在http交互

里面更侧重哪个面,get请求更重要的目的是让服务器返回信息,post主要的作用还是

向服务器提交信息。然后就说说我为什么说错了,get请求的请求信息是添加在url后面

的,post请求的请求信息不是添加在请求体里面的,而是添加在请求头里面的,从这两种

不同,就映射另外两种不同那就是get的请求信息是暴露在外面的,而post的请求信息

是隐藏在请求里面的,外面不可见,所以post请求比get请求安全。而且get请求发送一次请

求,post请求发送两次请求,get请求发送请求是将请求头和data一起提交过去,但是post

请求是先将请求头提交过去,然后服务器响应后再提交data,所以他们的请求方式次数有时候

也是不一样的,但是 Firefox就只发送一次。对于get方式,服务器端用Request.QueryStrin

g获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。