您的位置:首页 > 理论基础 > 计算机网络

HTTP POST和GET的区别

2013-03-18 17:26 260 查看


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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: