天天看点

get和post的区别

get方法与post方法的区别:

① 浏览器地址栏显示不同

② 向服务器端请求时发送的消息格式不同

③ get请求消息格式为:

④ post请求消息格式为:

通过浏览器进行文件上传时,一定要使用post方法。

通过浏览器地址栏输入网址的方式访问服务器资源,使用的都是get方法请求。

       GET和POST的方法都是用于对服务器的请求方法,只是他们传输表单的方法不一样,GET方法对于表单的参数请求是放置在url路径里面发送给服务器的,格式如下:

       GET /test/LoginServlet?username=hello&password=world HTTP/1.1

       由因为浏览器在网址输入栏输入网址的命令后,默认都是调用GET方法的,所以它会显示的出现在url的路径里面。

       而POST方法发送用户的输入的表单的内容给Tomcat服务器的时候并不是将用户输入的参数加在url中,而是采用以下的方式:

       POST /test/LoginServlet HTTP/1.1  ··· ···

       一些HTTP请求头部的基本信息 

       Connect:Keep-Alive //两次空格,这是POST方法请求的格式

       username=hello&password=word

       POST请求方法并不把用户输入的内容加到url路径里面,所以在Browser的地址栏是不显示的。

       综上所述GET和POST的造成这种现象的本质原因是由于GET方法和POST方法发送的请求信息的格式不一样造成的。

    Get与Post提交方式

        客户端向服务器发出请求(Request)有两种方式。一种是Get方式与post方式。它们的区别是

           Get提交:

                A:把要传递的数据,放在查询字符串(URL)的后面,传递的数据是可见的。

                  比如:网页名?变量名=值1&变量名=值2

                B:传递的数据大小有限制

                C:由于数据是可见的,所以安全性比较低

                D:Get提交方式仅适合于传递数据量少,且数据安全性要求不高的数据

           Post提交:

                A:把要传递的数据放在表单的元素中,通过表单传给服务器,传递的数据是不可见的

                B:对传递的数据大小没有限制 

                C:适合于传递安全性比较高的数据。比如:传递密码

          如何设置一个页面的传递方式:

                A:设置为post方式:

                    <form action="目的页面" method="post">

                B:设置为Get方式: 通常用超链接

                    <a herf="目的页面?变量名=值">