zoukankan      html  css  js  c++  java
  • GET和POST比较

         GET一般用于获取/查询资源信息,而POST一般用于更新/上传资源。它们本质上都是发送请求和接收响应。区别:
         (1)在HTTP协议中,GET是安全的、幂等的,而POST是非安全的、非幂等的:
          ① 安全指GET只是获取信息而非修改信息,不会影响资源的状态,不会对服务器资源产生副作用。
          ② 幂等指用GET对同一个URL的多个请求会返回相同的响应结果。
     
         (2)GET和POST的请求方式不同,如下:

         GET请求实例:

     GET http://weibo.com/signup/signup.php?inviteCode=2388493434
     Host: weibo.com
     Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

         POST请求实例:     

     POST /inventory-check.cgi HTTP/1.1  
     Host: www.joes-hardware.com
     Content-Type: text/plain  
     Content-length: 18  
      
      item=bandsaw 264
                  GET请求的内容在URL中?之后的部分,多个参数用&相连。POST请求的内容放在http请求包的包体中。
     
         (3)GET传送的数据量很少,一般小于2kB,而POST传送的数据量较大,默认不受限制。        
     
         (4)安全性上,对于用户而言,POST更具有安全性,因为请求内容不会暴露在地址栏中,可以避免用GET请求时用户名和密码暴露在URL上造成账号密码泄露问题。     
     
         (5)GET和POST本质上都是TCP/IP连接,只是由于HTTP协议规定和服务器/浏览器的限制,使他们在应用上产生了不同。其中,还有一点不同的是:GET只产生一个TCP包,浏览器会将http包头和包体在一个TCP包中发送出去;而POST产生两个TCP包,浏览器会先发送装有http包头的TCP包,等待服务器响应后,浏览器再发含有http包体的TCP包。
     
  • 相关阅读:
    scapy学习笔记(4)简单的sniffing 嗅探
    scapy学习笔记(3)发送包,SYN及TCP traceroute 扫描
    Linux查看CPU和内存使用情况
    MySQL关于根据日期查询数据的sql语句
    JSON 数据格式
    利用PyCharm进行Python远程调试
    pycharm远程调试配置
    Linux终端使用技巧
    每天一个linux命令(60):scp命令
    python-docx 使用教程
  • 原文地址:https://www.cnblogs.com/ladawn/p/8446065.html
Copyright © 2011-2022 走看看