do,post方法的区别

来源:互联网 发布:anyview java 编辑:程序博客网 时间:2024/06/07 10:44

两者的不同

  (1)浏览器地址栏呈现的结果不同(表象)

  (2)真正的原因在于,向服务器端发送请求的形式不同。

 

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

通过地址栏输入网址来访问服务器资源,全部采用的是get方法。

表单里通常采用的是post方法。get方法不太安全。

 

HTTP协议中,

  GET方式:GET  /test.html HTTP/1.1 (CRLF)

 

  POST方式: POST /login.jsp HTTP/1.1(CRLF)

                       Accept:image/gif(CRLF)(...)

                       Host:www.sample.com(CRLF)(...)

                       ...

                       Cache-Control:no=cache(CRLF)

                       (CRLF)

                       username=hello&password=123456

 

  如果用户请求用GET方法。 GET /test/LoginServlet?username=hello&password=world

 HTTP/1.1 。底层的HTTP协议走的是这样的过程。所以资源的路径会显示在地址栏里。

  如果用户请求用POST方法。 在所有常规的请求发送完毕之后,连续有两个回车,然后跟着的是 username=hello&password=123456,它把请求参数没有作为url的一部分,而是作为请求体的一部分。  这是POST 和 GET 最大的区别。 关于post不带参数,get带参数,这只是由于上面的原因出现的结果,并不是原因。

 

  在表单中,<form action="/test/LoginServlet">

     也可以写成<form action="LoginServlet">

     上面的表示绝对路径,下面的表示相对路径,相对test。。

     推荐是用下面的,因为上面的,上下文路径必须是test,而上下文路径在Tomat中是可以随便改的,工作中,会修改。

 

 

      

原创粉丝点击