大家好,欢迎来到IT知识分享网。
GET和POST是什么
Http协议定义了与服务器交互的最基本的4种方法,分别是GET、POST、PUT、DELETE。其中get和post是爬虫最主要的发送方式(其他两种我从业这么久都没用过)。HTTP中的GET,POST,PUT,DELETE就对应着对网络上的某个资源的查 ,改 ,增 ,删 4个操作,而这个资源就是接受爬虫发出的请求的URL,全称是资源描述符,可以认为一个URL地址来描述一个网络上的资源。即:GET – 从指定的资源请求数据。POST – 向指定的资源提交要被处理的数据。
GET和POST异同
Get和Post在面试中通常会问到,大致区别如下:
(1)post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中),了解下,get会把你输入的数据作为url的一部分(你每次百度,百度URL都有你搜索的内容,同时被记录在浏览器浏览记录中),那么你肯定不愿意让你的密码在url上面(小时候密码一直是谁谁谁520,小秘密被发现了多尴尬)。
(2)post发送的数据更大(get有url长度限制)。这块对现在可能不太严谨,因为很多老古董浏览器或者服务器对URL有长度限制,现在你肯定看不到了。其实HTTP协议并没有对URL做长度限制
(3)post能发送更多的数据类型(get只能发送ASCII)。
(4)post比get慢 。主要原因是:post在真正接受数据之前会先将请求头发送给服务器进行确认,然后才真正发送数据。这里应该是个重点:三次握手等原理我就不说了(非科班出身自己百度),客户端发送POST请求头给服务器,服务器发现是post,则立即返回100 continue响应,浏览器接收到响应才开始发送数据。所以相对于GET,POST发送了两次数据,但是在现在的网络情况下,这个慢相对于其他的耗时微乎其微了。
(5)post用于修改和写入数据,get一般用于搜索排序和筛选之类的操作(淘宝,百度的搜索查询都是get提交),目的是资源的获取,读取数据 。
最后:我是异端,一个系统传递Python爬虫和JAVA技术的异端工程师,喜欢的可以点个关注。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/51690.html