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


    get
    请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的
    GET 请求可被缓存
    GET 请求保留在浏览器历史记录中
    GET 请求可被收藏为书签
    GET 请求不应在处理敏感数据时使用
    GET 请求有长度限制 ,大多数浏览器通常都会限制url长度在2K个字节
    GET 请求只应当用于取回数据
    只接受ASCII字符的参数的数据类型
    get效率高
    post
    查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的
    POST 请求不会被缓存
    POST 请求不会保留在浏览器历史记录中
    POST 不能被收藏为书签
    POST 请求对数据长度没有要求
    POST支持多种编码方式
    为什么get比post效率高
    **[最重要原因]**post在真正接受数据之前会先将请求头发送给服务器进行确认,然后才真正发送数据
    post 请求过程
    1.浏览器请求tcp连接(第一次握手)
    2.服务器答应进行tcp连接(第二次握手)
    3.浏览器确认,并发送post请求头(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送)
    4.服务器返回100 continue响应
    5.浏览器开始发送数据
    6.服务器返回200 ok响应
    get 请求过程
    1.浏览器请求tcp连接(第一次握手)
    2.服务器答应进行tcp连接(第二次握手)
    3.浏览器确认,并发送get请求头和数据(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送)
    4.服务器返回200 ok响应
    get会将数据缓存起来,而post不会。
    ps:chrome下和firefox下如果检测到get请求的是静态资源,则会缓存,如果是数据,则不缓存,但是IE这个傻X啥都会缓存起来
    post请求包含更多的请求头
    post不能进行管道化传输

  • 相关阅读:
    XPah学习
    .NET在后置代码中输入JS提示语句(背景不会变白)
    .Net 使用文件上传控件FileUpload上传图片
    OnClientClick和OnClick同时使用!
    OnClientClick的用法
    mysql获得自增字段下一个值
    jQuery插件之ajaxFileUpload
    委托、匿名方法、Lambda表达式的演进
    js实现页面传值
    Entity Framework 学习初级篇--基本操作:增加、更新、删除、事务(转)
  • 原文地址:https://www.cnblogs.com/yangqiong1989/p/10745389.html
Copyright © 2011-2022 走看看