GET方法和POST方法


HTTP协议中有很多请求方法,其中最为常见的是GET方法和POST方法。

GET方法

GET是HTTP的默认请求方法。通常用于请求服务器发送某个资源。

  • 没有请求体
  • 数据必须在1K之内
  • GET请求数据会暴露在浏览器的地址栏中

GET请求常用的操作:

  1. 在浏览器的地址栏中直接给出URL,那么就一定是GET请求。
  2. 点击页面上的超链接也一定是GET请求
  3. 提交表单时,表单默认使用GET请求,但可以设置为POST

客户端用GET方法发起一次HTTP请求的过程如下图所示:

POST方法

POST方法起初是用来向服务器输入数据的(POST用于向服务器发送数据,PUT用于向服务器上的文件等资源中存储数据)。实际上,通常会用它来支持HTML的表单。表单中填好的数据通常会被送给服务器,然后由服务器将其发送到它要去的地方(比如,送到一个服务器网关程序中,然后由这个程序对其进行处理)。

  1. 数据不会出现在地址栏中
  2. 数据的大小没有上限
  3. 有请求体
  4. 请求体中如果存在中文,会使用URL编码

客户端用POST方法发起HTTP请求(向服务器发送表单数据)的过程如下图所示:

两种方法的比较

GET是从服务器上获取数据,POST是向服务器传送数据

GET没有请求体,而POST有请求体。因为GET方法中,请求参数不会放在URL下面,而是放在URL后面了。

GET请求参数都显示在浏览器网址上,HTTP服务器根据该请求所包含URL中的参数来产生响应内容,即“Get”请求的参数是URL的一部分。 例如: http://www.baidu.com/s?wd=Chinese

POST请求参数在请求体当中,消息长度没有限制而且以隐式的方式进行发送,通常用来向HTTP服务器提交量比较大的数据(比如请求中包含许多参数或者文件上传操作等),请求的参数包含在“Content-Type”消息头里,指明该消息体的媒体类型和编码。

注意:避免使用Get方式提交表单,因为有可能会导致安全问题。 比如说在登陆表单中用Get方式,用户输入的用户名和密码将在地址栏中暴露无遗。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章