HTTP请求方法,GET和POST最基础的区别

HTTP的请求方式包括如下几种:

  • GET
  • POST
  • HEAD
  • PUT
  • DELETE
  • OPTIONS
  • TRACE
  • CONNECT

最常用的请求方式是GET和POST:

GET方式:是以实体的方式得到有请求URL所指定的资源信息,如果请求URL只是一个数据产生过程,那么最终要在响应实体中返回的是处理过程的结果所指向的资源而不是处理过程的描述。

POST方式:用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列中请求URL所指定资源附加新子项。

GET与POST方法有以下区别:

  • 在客户端,GET方式通过URL提交数据,数据在URL中可以看到。而POST方式,数据放置在实体区提交。

  • GET方式提交的数据最多只能有1024字节,而POST则没有此限制。

  • 安全性问题。使用GET的时候,参数会显示在地址栏上,而POST则不会。所以,如果这些数据为非敏感数据,可以使用GET。如果用户输入的数据包含敏感信息,那么还是使用POST为好。

在爬虫开发中基本处理就是GET和POST请求。GET请求在访问网页时很常见,POST请求则是常在登录框、提交框的位置。以下是展示一个完整的POST请求,这是某不知名高校登录时捕获的请求,上面一部分是请求头,下面全部加粗的数据是请求实体。(如果你刚刚忘记了实体是啥,那就看下例子吧)

POST /xxxxx/xtgl/login_slogin.html?time=1561086651079 HTTP/1.1
Host: 202.xxx.xx.178
Connection: keep-alive
Content-Length: 470
Cache-Control: max-age=0
Origin: http://202.xxx.xx.178
Upgrade-Insecure-Requests: 1
DNT: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3
Referer: http://202.xxx.xx.178/jwglxt/xtgl/login_slogin.html?language=zh_CN&_t=1561086650346
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: JSESSIONID=B5E249485D14559274AF7D1DD195A69E; JSESSIONID=1EE7570831E68DF6B50D8F90F87EA20D

csrftoken=9d3a2ea6-51de-4baa-85d1-6bc14de4fed4%2C9d3a2ea651de4baa85d16bc14de4fed4&yhm=xxxxxxxxxx&mm=H%2BWjZd3LlTailwNNo4MgJIfQedqHoCWa6hcMGP5h7GdG9hVKDINeXo9rHU9hW03Jc8az0%2B%2FkBvSqWq31JQ8UXMn1QB%2BZN3cvwXUk3nTAeKlVUaB28IJ1qkg3lN98fctW056qtqEom6hVEIzdjgYMTRBlAt8hUizb25BSCKxovRs%3D&mm=H%2BWjZd3LlTailwNNo4MgJIfQedqHoCWa6hcMGP5h7GdG9hVKDINeXo9rHU9hW03Jc8az0%2B%2FkBvSqWq31JQ8UXMn1QB%2BZN3cvwXUk3nTAeKlVUaB28IJ1qkg3lN98fctW056qtqEom6hVEIzdjgYMTRBlAt8hUizb25BSCKxovRs%3D

你可能感兴趣的:(HTTP请求方法,GET和POST最基础的区别)