zoukankan      html  css  js  c++  java
  • get与post的区别

    GET与POST的区别浅谈

    (1) get把请求的数据放在URL上,即HTTP协议头上,其格式为:以?分割URL和传输数据,参数之间使用&符号连接。数据如果是英文字母或数字则原样发送,若是空格,则转换成+,若是中文或者是其他字符,则把字符串使用BASE64,“%”加上“字符串的16进制ASCII码”。    

         post会把数据存放在HTTP的包体(request body)。

    (2)get提交的数据最大是2K(原则上url长度无限制,但是大多数浏览器会限制url在2k个字节)。

        post理论上传输数据的大小理论上没有限制。实际中IIS4中最大的传输量为80k,IIS5中为100k

    (3)get产生一个TCP数据包,浏览器会把http  header和data一并发送出,服务器响应200。

        post产生两个TCP数据包,浏览器先发送header,服务器返回100  continue,浏览器在发送data,服务器响应200 ok(返回数据)。

    (4)get在浏览器中回退时是无害的,post会再次提交请求。

    (5)get请求会被浏览器主动缓存,而post基本不会。

    (6)get请求只能进行url编码,而post支持多种编码方式。

    (7)get参数会被完整的记录在浏览器历史记录中,而post参数不会被保留

    综上所述,post不容易外泄参数,保证数据在出函数过程中的安全,但是因为其运行速度比get慢,所以在选用get与post方式时,需要比较其优劣。

  • 相关阅读:
    HTTP content-type
    python3学习--安装OCR识别库tesserocr
    http post get 类库 httphelper
    MD5
    解决python3中cv2读取中文路径的问题
    web api获得Post数据为空的解决办法
    python3项目打包成exe可执行程序
    pip install 使用国内镜像
    win10家庭版组策略安装
    在国企的日子(第七章 转正)
  • 原文地址:https://www.cnblogs.com/wawjandcsws/p/10474477.html
Copyright © 2011-2022 走看看