精华内容
下载资源
问答
  • get请求方式和post请求方式的区别
    2022-07-29 17:00:21

    get和post都是http请求方式,get是请求,post是提交,get数据量小,post数据量大

    get在请求头里,放在地址栏不安全。Post放在包里,相对安全

    GET使用URL或Cookie传参,而POST将数据放在BODY中,这个是因为HTTP协议用法的约定。并非它们的本身区别。

    GET方式提交的数据有长度限制,则POST的数据则可以非常大,这个是因为它们使用的操作系统和浏览器设置的不同引起的区别,不是GET和POST本身的区别。

    POST比GET安全,因为数据在地址栏上不可见,这个说法没毛病,但依然不是GET和POST本身的区别。

    GET和POST最大的区别主要是GET请求是幂等性的,POST请求不是。(幂等性:对同一URL的多个请求应该返回同样的结果。)因为get请求是幂等的,在网络不好的隧道中会尝试重试。如果用get请求增数据,会有重复操作的风险,而这种重复操作可能会导致副作用

    更多相关内容
  • Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GETPOST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GETPOST,PUT,DELETE就...
  •  之前一次面试时面试官问到了Get请求和Post请求区别,对于web基础来说这个还是比较重要的,所以我打算整理一下分享给大家,以下是我个人的一些总结,如果大神有更好的理解,欢迎补充。 从三个方面来总结 Get请求...
  • GET和POSTHTTP协议中的两种发送请求的方法,他们的区别: “标准答案”: GET在浏览器回退时是无害的,而POST会再次提交请求GET产生的URL地址可以被Bookmark,而POST不可以。 GET请求会被浏览器主动cache,而...

    本文来源于微信公众号:后厂技术官。文章链接:尴尬!99%的人都理解错了 HTTP 中 GET 与 POST 的区别 如有侵权,联系必删

    GET和POST是HTTP协议中的两种发送请求的方法,他们的区别:

    “标准答案”:

    • GET在浏览器回退时是无害的,而POST会再次提交请求。
    • GET产生的URL地址可以被Bookmark,而POST不可以。
    • GET请求会被浏览器主动cache,而POST不会,除非手动设置。
    • GET请求只能进行url编码,而POST支持多种编码方式。
    • GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
    • GET请求在URL中传送的参数是有长度限制的,而POST么有。
    • 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
    • GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
    • GET参数通过URL传递,POST放在Request body中。

    但实际上:

    GET和POST是HTTP协议中的两种发送请求的方法,HTTP是基于TCP/IP的关于数据如何在万维网中通信的协议。

    GET和POST能做相同的事

    • HTTP底层是TCP/IP,所以GET和POST的底层也是TCP/IP,也就是说,GET和POST都是TCP链接,他俩能做的事是一样的。

    HTTP是一种规范,TCP是GET和POST怎么实现的基本。

    HTTP规定GET把请求参数放到url中,POST把请求参数放到request.body中

    • 业界有个不成文的规定,大多数浏览器会限制url长度在2k个字节,而大多数服务器最多处理64k的url,找过的部分不处理。GET可以把参数放到request.body中,但不同的服务器处理方式不同,有的会读出数据,有的则直接忽略。

    GET产生一个TCP数据包;POST产生两个TCP数据包

    • GET请求,浏览器会把http header和data一并发送出去,服务器响应200返回数据;
    • POST请求,浏览器先发送http header,服务器响应100 continue,浏览器再发送data,服务器响应200 OK返回数据。

    POST需要两步,GET只需一步。这样看来GET好像比POST更有效,但GET不能替代POST来优化网站性能。原因是:

    • GET和POST都有自己的语义,不能随便混用;
    • 经研究,网络环境好时发一次和两次的时间差别基本可以忽略;而在网络环境差时两次包的TCP在验证数据包完整性上有非常大的优点;
    • 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次

    综上所述:

    • GET和POST在本质上没有区别,都是基于TCP来进行发送请求的实现。
    • 但由于HTTP协议,使GET和POST在使用上有区别:
      • GET把请求参数放到url中,POST把请求参数放到request.body中
      • GET产生一个TCP数据包;POST产生两个TCP数据包
    展开全文
  • 主要介绍了python通过get,post方式发送http请求和接收http响应的方法,涉及Python使用urllib模块与urllib2模块实现getpost发送数据的相关技巧,需要的朋友可以参考下
  • get请求和post请求区别

    千次阅读 2022-04-10 23:56:19
    说到 get 请求和 post 请求,就不得不提 HTTP 协议,因为浏览器服务器的交互是通过 HTTP 协议执行的,而 get 请求和 post 请求也是 HTTP 协议中的两种方法。 HTTP全称为Hyper Text Transfer Protocol,中文...
    说到 get 请求和 post 请求,就不得不提 HTTP 协议,因为浏览器和服务器的交互是通过 HTTP 协议执行的,而 get 请求和 post 请求也是 HTTP 协议中的两种方法。
     
    HTTP全称为Hyper Text Transfer Protocol,中文翻译为超文本传输协议,目的是保证浏览器与服务器之间的通信。HTTP的工作方式是客户端与服务器之间的请求-应答协议。
     
    HTTP协议中定义了浏览器和服务器进行交互的不同方法,基本方法有4种,分别是GET,POST,PUT,DELETE。这四种方法可以理解为,对服务器资源的 查,增,改,删。
     
    GET:GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。
     
    POST:POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。
     
    PUT:PUT请求是向服务器端发送数据的(与GET不同)从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。
     
    DELETE:顾名思义,DELETE请求就是删除服务器数据的过程。
     
    下面主要比较一下 get 请求和 post 请求的区别。

     

    get请求和post请求的区别

    (1)get 请求是不安全的,因为在传输过程,数据被放在请求的 url 中;post 请求的所有操作对用户来说都是不可见的。 但是这种说法也不是绝对的,也可以在 get 请求加上 request body,给 post 请求带上 url 参数。
     
    (2)get 请求提交的 url 中的数据最多只能是2048字节,这个限制是浏览器或者服务器给添加的,http协议并没有对 url 长度进行限制,目的是为了保证服务器和浏览器能够正常运行,防止有人恶意发送请求。post 请求则没有大小限制。
     
    (3)get 请求限制 form 表单的数据集的值必须为 ASCII 字符;而 post 请求支持整个 ISO10646字符集。
     
    (4)get 请求的执行效率比 post 请求好。get 请求是 form 表单提交的默认方法。
     
    (5)get 请求产生一个 TCP 数据包;post 请求产生两个 TCP 数据包。对于 get 方式的请求,浏览器会把 http header 和 data 一并发送出去,服务器响应200(返回数据);而对于 post 请求,浏览器先发送 header,服务器响应100 continue,浏览器再发送 data,服务器再响应200(返回数据)。
    展开全文
  • postget方式请求接口封装,参数加密方式请求,参数RSA签名, 转换字符集到utf8,base64编码字符串
  • HTTP请求方式GET和POST区别详解

    千次阅读 2019-03-17 19:44:33
    一.HTTP请求 1.HTTP请求格式: <request line> <headers> <blank line> [<request-body>] 在HTTP请求中,第一行必须是一个请求行(request line)...

    HTTP有两部分组成:请求与响应,下面分别整理。

    一.HTTP请求

    1.HTTP请求格式:

    <request line>

    <headers>

    <blank line>

    [<request-body>]

    在HTTP请求中,第一行必须是一个请求行(request line),用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息。在首部之后是一个空行,再此之后可以添加任意的其他数据[称之为主体(body)]。

    2.GET与POST区别

    HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST(开发关心的只有GET请求和POST请求)。

    GET与POST方法有以下区别:

    (1) 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。

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

    (3) 安全性问题。正如在(1)中提到,使用 Get的时候,参数会显示在地址栏上,而 Post不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好。

    (4) 安全的和幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。幂等的意味着对同一 URL的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。换句话说,GET请求一般不应产生副作用。从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的角度来看没有改变资源。比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。反之亦然。POST请求就不那么轻松了。POST表示可能改变服务器上的资源的请求。仍然以新闻站点为例,读者对文章的注解应该通过 POST请求实现,因为在注解提交之后站点已经不同了(比方说文章下面出现一条注解)。
     



    GET与POST方法实例:

    GET /books/?name=Professional%20Ajax HTTP/1.1
    Host: www.wrox.com
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
    Gecko/20050225 Firefox/1.0.1
    Connection: Keep-Alive



    POST / HTTP/1.1
    Host: www.wrox.com
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
    Gecko/20050225 Firefox/1.0.1
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 40
    Connection: Keep-Alive
    (----此处空一行----)
    name=Professional%20Ajax&publisher=Wiley






    3.表单提交中get和post方式的区别归纳如下几点:

    (1)get是从服务器上获取数据,post是向服务器传送数据。

    (2)对于表单的提交方式,在服务器端只能用Request.QueryString来获取Get方式提交来的数据,用Post方式提交的数据只能用Request.Form来获取。

    (3)一般来说,尽量避免使用Get方式提交表单,因为有可能会导致安全问题。比如说在登陆表单中用Get方式,用户输入的用户名和密码将在地址栏中暴露无遗。但是在分页程序中,用Get方式就比用Post好。


    二.HTTP响应
    1.HTTP响应格式:

    <status line>

    <headers>

    <blank line>

    [<response-body>]

    在响应中唯一真正的区别在于第一行中用状态信息代替了请求信息。状态行(status line)通过提供一个状态码来说明所请求的资源情况。 

    HTTP响应实例:

    HTTP/1.1 200 OK
    Date: Sat, 31 Dec 2005 23:59:59 GMT
    Content-Type: text/html;charset=ISO-8859-1
    Content-Length: 122
    <html>
    <head>
    <title>Wrox Homepage</title>
    </head>
    <body>
    <!-- body goes here -->
    </body>
    </html>
    2.最常用的状态码有:

    ◆200 (OK): 找到了该资源,并且一切正常。
    ◆304 (NOT MODIFIED): 该资源在上次请求之后没有任何修改。这通常用于浏览器的缓存机制。
    ◆401 (UNAUTHORIZED): 客户端无权访问该资源。这通常会使得浏览器要求用户输入用户名和密码,以登录到服务器。
    ◆403 (FORBIDDEN): 客户端未能获得授权。这通常是在401之后输入了不正确的用户名或密码。
    ◆404 (NOT FOUND): 在指定的位置不存在所申请的资源。



    Http get,post,soap协议都是在http上运行的
    1)get:请求参数是作为一个key/value对的序列(查询字符串)附加到URL上的
    查询字符串的长度受到web浏览器和web服务器的限制(如IE最多支持2048个字符),不适合传输大型数据集
    同时,它很不安全
    2)post:请求参数是在http标题的一个不同部分(名为entity body)传输的,这一部分用来传输表单信息,因此必须将
    Content-type设置为:application/x-www-form-urlencoded。
    post设计用来支持web窗体上的用户字段,其参数也是作为key/value对传输。
    但是:它不支持复杂数据类型,因为post没有定义传输数据结构的语义和规则。
    3)soap:是http post的一个专用版本,遵循一种特殊的xml消息格式
    Content-type设置为: text/xml
    任何数据都可以xml化






    HTTP POST和GET的区别

    1、HTTP 只有POST和GET 两种命令模式;

    2、 POST 是被设计用来向上放东西的,而GET是被设计用来从服务器取东西的,GET也能够向服务器传送较少的数据,而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.POST的信息作为HTTP 请求的内容,而GET是在HTTP 头部传输的;

    3、POST与GET在HTTP 中传送的方式不同,GET的参数是在HTTP 的头部传送的,而Post的数据则是在HTTP 请求的内容里传送;

    4、POST传输数据时,不需要在URL中显示出来,而GET方法要在URL中显示;

    5、 GET方法由于受到URL长度的限制,只能传递大约1024字节;POST传输的数据量大,可以达到2M,而根据微软方面的说法,微软对用 Request.Form() 可接收的最大数据有限制,IIS 4 中为 80 KB 字节,IIS 5 中为 100 KB 字节;

    6、SOAP是依赖于HTTP POST模式实现的;



    例子:

    HTTP GET

    发送

    GET /DEMOWebServices2.8/Service.asmx/CancelOrder?UserID=string&PWD=string&OrderConfirmation=string HTTP/1.1
    Host: api.efxnow.com

    回复

    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Content-Length: length

    <?xml version="1.0" encoding="utf-8"?>
    <objPlaceOrderResponse xmlns="https://api.efxnow.com/webservices2.3">
    <Success>boolean</Success>
    <ErrorDescription>string</ErrorDescription>
    <ErrorNumber>int</ErrorNumber>
    <CustomerOrderReference>long</CustomerOrderReference>
    <OrderConfirmation>string</OrderConfirmation>
    <CustomerDealRef>string</CustomerDealRef>
    </objPlaceOrderResponse>



    HTTP POST

    发送

    POST /DEMOWebServices2.8/Service.asmx/CancelOrder HTTP/1.1
    Host: api.efxnow.com
    Content-Type: application/x-www-form-urlencoded
    Content-Length: length

    UserID=string&PWD=string&OrderConfirmation=string

    回复

    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Content-Length: length

    <?xml version="1.0" encoding="utf-8"?>
    <objPlaceOrderResponse xmlns="https://api.efxnow.com/webservices2.3">
    <Success>boolean</Success>
    <ErrorDescription>string</ErrorDescription>
    <ErrorNumber>int</ErrorNumber>
    <CustomerOrderReference>long</CustomerOrderReference>
    <OrderConfirmation>string</OrderConfirmation>
    <CustomerDealRef>string</CustomerDealRef>
    </objPlaceOrderResponse>



    SOAP 1.2

    发送

    POST /DEMOWebServices2.8/Service.asmx HTTP/1.1
    Host: api.efxnow.com
    Content-Type: application/soap+xml; charset=utf-8
    Content-Length: length

    <?xml version="1.0" encoding="utf-8"?>
    <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
    <soap12:Body>
    <CancelOrder xmlns="https://api.efxnow.com/webservices2.3">
    <UserID>string</UserID>
    <PWD>string</PWD>
    <OrderConfirmation>string</OrderConfirmation>
    </CancelOrder>
    </soap12:Body>
    </soap12:Envelope>

    回复

    HTTP/1.1 200 OK
    Content-Type: application/soap+xml; charset=utf-8
    Content-Length: length

    <?xml version="1.0" encoding="utf-8"?>
    <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
    <soap12:Body>
    <CancelOrderResponse xmlns="https://api.efxnow.com/webservices2.3">
    <CancelOrderResult>
    <Success>boolean</Success>
    <ErrorDescription>string</ErrorDescription>
    <ErrorNumber>int</ErrorNumber>
    <CustomerOrderReference>long</CustomerOrderReference>
    <OrderConfirmation>string</OrderConfirmation>
    <CustomerDealRef>string</CustomerDealRef>
    </CancelOrderResult>
    </CancelOrderResponse>
    </soap12:Body>

    </soap12:Envelope>

    展开全文
  • HTTP请求方式GET和POST代码示例

    千次阅读 2021-07-05 15:01:59
    Http请求方式GET和Post代码示例1.HTTP名词解释1.2 Http传输方式1.2.1GET名词解释1.2.1POST名词解释1.3Http中Post 和Get代码实现 1.HTTP名词解释 HTTP大名叫做超文本传输协议,字面理解就是传输超文本,web使用一种...
  • http请求post和get方式区别

    万次阅读 多人点赞 2017-08-11 10:41:01
    在网上找了post和get请求方式的不同和区别,感觉这个比较好,转载过来大家分享! Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GETPOST,PUT,DELETE。URL全称是资源描述符,我们可以这样...
  • httpclient实现的工具类含有以下功能: 1、后台模拟发送GET请求 2、后台模拟发送POST请求 3、解决了中文乱码
  • 3.Post:向指定资源提交数据进行处理请求(提交表单、上传文件),有可能导致新的资源的建立或原有资源的修改 4.Put 向指定资源位置上上传其最新内容(从客户端向服务器传送的数据取代指定文档的内容) 5.Head 与...
  • HTTP协议是一款基于短连接的协议,每次交互完毕后连接断开,而HTTP请求又分为GET和POST两种方式GET请求比较简单,只需要在网址后面用?拼接请求的资源路径,如百度图片输入动漫关键字的地址 ht
  • HTTP的两种常用请求方式GET和POST

    千次阅读 2021-02-20 22:51:18
    HTTP的两种常用请求方式GET和POST HTTPHTTP协议(HyperText Transfer),用于从万维网(WWWW:World Wide Web)服务器传输超文本到本地浏览器的传输协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件,...
  • java通过HTTP调用接口(Get请求和Post请求
  • get和post请求方式

    2021-12-22 01:21:50
    get通过拼接url进行传递参数,参数可见; 安全性较差,参数长度有限制,可以缓存,只支持url...2.get请求会把http headerdata一起发送出去,服务器反应200,post请求先发送header,等服务端响应100了再继续发送data
  • 区别: ... GET请求只能进行url编码,而POST支持多种编码方式GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。 GET请求在URL中传送的参数是有长度限制的,而PO
  • 用HTML页面模式get/post请求,psot请求参数的格式为json串
  • 常见的请求方式 以及 get和post 区别

    千次阅读 2022-02-07 12:43:38
    请求方式: 因为语义化做了一些区分,本质是一样的 HTTP/1.0 1. GET:偏向于获取的方式 大部分都是给后端一些参数,用来获取些列数据 2. POST:偏向于给服务器一些数据 大部分都是登录,给服务器一些信息,...
  • post和get请求方式特点

    2022-02-12 15:06:23
    2.post请求 要求浏览器发送请求时,可以携带任意数量的请求参数 要求浏览器发送请求时,必须在浏览器地址栏上隐藏请求参数信息 要求浏览器发送请求时,必须将请求参数信息保存在http请求协议包中的请求体 禁止...
  • 区别:1、GET请求的数据会暴露在地址栏中,而POST请求则不会;2、Get请求传输数据量小,Post请求传输数据量大;3、POST的安全性比GET的高。本教程操作环境:windows10系统、Lenovo 小新Air14电脑。POST与GET两种请求...
  • get请求方式 服务器 // 传统的URL app.get('/axios', (req, res) => { res.send('axios get 传递参数' + req.query.id) }) // Restful 的URL app.get('/axios/:id', (req, res) => { res.send('axios get...
  • http get post 请求模拟器
  • 文章目录GET1)导入模块2)发送请求3)响应请求POSTHTTP请求头HTTP响应状态码会话保持 我们知道通常浏览器支持get与post两种常见的请求方式,那么在python当中如何具体实现呢? GET 首先是get,我们知道get指令比较...
  • HTTP请求方式GET和POST区别?

    万次阅读 2019-05-23 15:43:44
    2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL...
  • 根据实际的开发项目整理的一个window的open方法把get请求转成post请求处理方式逻辑,由于window.open方法的get实现时,请求传入的参数长度不能超过2000这样一个字符长度,故需转换成post请求处理方式达到既能用到...
  • 1.get请求一般是去取获取数据(其实也可以提交,...3.get请求刷新服务器或者回退没有影响,post请求回退时会重新提交数据请求。 4.get请求可以被缓存,post请求不会被缓存。 5.get请求会被保存在浏览器历史记录当中,p
  • 超文本传输协议(HTTP)的...两种 HTTP 请求方法:GET POST 在客户机服务器之间进行请求-响应时,两种最常被用到的方法是:GET POSTGET - 从指定的资源请求数据。 POST - 向指定的资源提交要被处理的数据

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 994,396
精华内容 397,758
热门标签
关键字:

get请求方式和post请求方式的区别