url

爬虫必备知识点——get请求和post请求的区别

孤街浪徒 提交于 2020-02-15 08:48:31
Get请求和Post请求的区别: 1.get在浏览器回退时是无害的,post会再次提交请求; get产生的url地址可以被bookmark(加入标签),post不可以; get请求只能进行url编码,post可以进行多种编码; get请求参数会被完整保留在浏览器历史记录中,post不会(无痕浏览); 对参数的数据类型,get只接受ASCII字符,post没有限制; Get请求在url中传递的参数长度有限制,post没有; Get比post更不安全,因为参数直接暴露在url中,不能用来传递敏感信息; Get参数放在url中,post参数放在request body中; 注:两种都是HTTP请求的基本方法,最直观的区别就是get把参数包含在url中,而post通过request body传递参数; 但其实两者本质上并没有区别,底层都是TCP/IP,都是TCP类型的链接。 当然,如果觉得上面这些太过繁琐,不大好记,则可以粗略的记住以下几点: 提交方式不同 get请求会被浏览器自动缓存的,因为是在url中,而post不会 get请求只能进行url编码,而post支持多种编码方式 get有长度限制,post没有 get只支持ASCII码请求参数,post没有限制 get相比post来说,更不安全,因为参数直接暴露了 来源: CSDN 作者: thc151297 链接: https:/

论Get和Post请求方法的差异

被刻印的时光 ゝ 提交于 2020-02-15 07:47:30
文章目录 HTTP Get请求方法 Post请求方法 Get请求和Post请求有何不一样呢 HTTP HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议 Get请求方法 Get是基于HTTP通信协议的一种请求方法,底层也是TCP/IP,是TCP连接,对于Get方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据),直观点看Get把参数包含在URL中,只进行URL编码,其过程的参数会被浏览器记录。 Post请求方法 post是基于HTTP通信协议的一种请求方法,底层也是TCP/IP,是TCP连接,对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200(返回数据),直观点Post通过request body传递参数。 Get请求和Post请求有何不一样呢 在HTTP的底层是TCP/IP,所以GET和POST的底层也是TCP/IP,也就是说GET/POST都是TCP链接。GET和POST能做的事情是一样一样的,那到底哪里不一样呢? 一、GET请求把http header和data一并发送出去,而POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data。 二、GET产生的URL地址可以被Bookmark,而POST不可以。 三

HTTP中get和post区别

可紊 提交于 2020-02-15 06:22:54
HTTP中比较经典的问题,我整理了下网上我读懂的比较好的资料,目前在知乎上看到了好的解释,毕竟是被别人理解过再经过自己表述出来的,相对书本也更容易让人理解些,如下: 1. 原文链接:https://www.zhihu.com/question/28586791/answer/145424285 通常的理解 w3schools关于这个问题的解答: HTTP 方法:GET 对比 POST 列出了一般的理解,比如: GET后退按钮/刷新无害,POST数据会被重新提交(浏览器应该告知用户数据会被重新提交)。 GET书签可收藏,POST为书签不可收藏。 GET能被缓存,POST不能缓存 。 GET编码类型application/x-www-form-url,POST编码类型encodedapplication/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。 GET历史参数保留在浏览器历史中。POST参数不会保存在浏览器历史中。 GET对数据长度有限制,当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。POST无限制。 GET只允许 ASCII 字符。POST没有限制。也允许二进制数据。 与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL

Http中 Post和 Get的区别

梦想的初衷 提交于 2020-02-15 05:32:18
1.表面上的区别   1.GET在浏览器回退时,是无害的,而Post会再次提交请求   2.Get产生的Url地址会被Bookmark,而Post不会   3.Get请求会被浏览器主动Cache,而Post不会,除非主动设置   4.Get请求只能进行Url编码,而Post支持多种编码方式   5.Get请求参数会被完整保存在浏览器记录里,而Post的参数不会被保留   6.Get请求在URL传送的参数是由长度限制的,而Post没有   7.对参数的数据类型,Get接受ASCII字符,而POst没有限制   8.Get比Post更不安全,因为参数直接暴露在Url上,所以不能用来传递敏感数据   9.Get参数通过url传递,而Post放在RequestBody中 。 而Post和Get在本质上是没有区别的 1.Post和Get是Http协议的两种请求方式 2.Http协议是基于TCP/IP的关于数据如何在万维网中通信的协议 3.Get和Post底层都是Tcp/Ip, 4.Http是一种行为准则,定义了几个不同的服务类别,Get,Post,put,delete等, 5.Get和Post的参数限制,不同的浏览器和服务器会根据成本来限制单次传输量 。数据量太大,对浏览器和服务器都有很大负担,大部分浏览器会将url长度限制在 2K,而大多数服务器,最多处理64K大小的url

浅谈HTTP中Get与Post的区别

拥有回忆 提交于 2020-02-15 05:29:13
浅谈HTTP中Get与Post的区别 2009-03-31 14:51 by hyddd, 880444 阅读, 118 评论, 收藏 , 编辑   Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。    1 .根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。   (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。   * 注意:这里安全的含义仅仅是指是非修改信息。   (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下 幂等 这个概念:    幂等 (idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。   幂等有一下几种定义:   对于单目运算

HTTP GET POST PUT DELETE 四种请求

↘锁芯ラ 提交于 2020-02-15 05:28:37
1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。 2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。 3、POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。 4、DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作。 就像前面所讲的一样,既然PUT和POST操作都是向服务器端发送数据的,那么两者有什么区别呢。。。POST主要作用在一个集合资源之上的(url),而PUT主要作用在一个具体资源之上的(url/xxx),通俗一下讲就是,如URL可以在客户端确定,那么可使用PUT,否则用POST。 综上所述,我们可理解为以下: 1、POST /url 创建 2、DELETE /url/xxx 删除 3、PUT /url/xxx 更新 4、GET /url/xxx 查看

Http的Post和Get

廉价感情. 提交于 2020-02-15 05:23:14
原文: http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的 查 , 改 , 增 , 删 4个操作。到这里,大家应该有个大概的了解了,GET一般用于 获取/查询 资源信息,而POST一般用于 更新 资源信息。    1 .根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的 。   (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。   * 注意:这里安全的含义仅仅是指是非修改信息。   (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下 幂等 这个概念:    幂等 (idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。   幂等有一下几种定义:   对于单目运算

GET和POST解析

孤街浪徒 提交于 2020-02-15 05:21:43
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。    1 .根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。   (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。   * 注意:这里安全的含义仅仅是指是非修改信息。   (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下 幂等 这个概念:    幂等 (idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。   幂等有一下几种定义:   对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比如绝对值运算就是一个例子,在实数集中,有abs(a)=abs(abs(a))。   对于双目运算

HTML (1)href与Action,get post

淺唱寂寞╮ 提交于 2020-02-15 04:58:14
1. href 与 Action 的区别 href 只能 get 参数, action 能 get 参数又能 post 参数 href 一般用于单个连接,可以带参数( URL 重写),是采用 get 方式请求的,在地址栏中可以看到所有的参数; action 一样用于表单的提交(如:注册)等,他可以提交大量和比较复杂的参数,可通过 post 和 get 两种方式提交。如果选择 post 方式 则在地址栏中看不到提交的信息。 简单讲:单独连接到某个地址,用 href; 提交和注册信息,用 action 2. get 和 post 的区别 Form 中的 get 和 post 方法,在数据传输过程中分别对应了 HTTP 协议中的 GET 和 POST 方法。二者主要区别如下: 1 、 Get 是用来从服务器上获得数据,而 Post 是用来向服务器上传递数据。 2 、 Get 将表单中数据的按照 variable=value 的形式,添加到 action 所指向的 URL 后面,并且两者使用“ ? ”连接,而各个变量之间使用 “ & ”连接; Post 是将表单中的数据放在 form 的数据体中,按照变量和值相对应的方式,传递到 action 所指向 URL 。 3 、 Get 是不安全的,因为在传输过程,数据被放在请求的 URL 中,而如今现有的很多服务器

post get 请求 headers注释哪些

一笑奈何 提交于 2020-02-15 04:54:40
post和get #post请求fomdata=urllib.parse.urlencode(fomdata).encode() request=urllib.request.Request(url=url,headers=headers) response=urllib.request.urlopen(request,fomdata) print(response.read().decode()) #get请求 formdata=urllib.parse.urlencode(formdata) url=url+formdata request=urllib.request.Request(url=url,headers=headers) response=urllib.request.urlopen(request) print(response.read().decode()) headers headers={ # ':authority': 'fanyi.baidu.com', # ':method':'POST' , # ':path': '/v2transapi', # ':scheme': 'https', # 'accept':' */*', # 'accept-encoding': 'gzip, deflate, br', 'accept-language':