JS学习之——GET和POST

GET和POST的区别是什么?

  • GET一般用于信息获取。使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符之内。
  • POST一般用于修改服务器上的资源,对所发送的信息没有限制。
  • GET方式需要使用Request.QueryString来取得变量的值,而POST方式可通过Request.From来获取变量的值。也就是说,GET通过地址栏来传值,而POST通过提交表单来传值(注意!模拟表单的POST请求在jQuery中很常见).

何时使用POST?

  • 无法缓存文件(更新服务器上的文件或数据库)。
  • 向服务器发送大量数据(POST没有数据量限制)。
  • 当发送包含未知字符的内容时,POST比GET更稳定、更可靠。

表单向服务器提交数据的方式有哪几种?

  • GET和POST
  • 浏览器发送给服务器的HTTP请求分为请求头(header)和请求主体(body)两部分。其中必须包含请求头部分,它用于指定发送请求的方式、目的以及其他关键信息;而主体是可选的。在头数据和主体数据之间用一个空白行隔开。
  • 当使用GET方式时,表单数据附加在URL属性的末端。
  • 当使用POST方法数据时,数据都会放在主体中。

普通答法

GET

  1. 倾向于服务器获取数据
  2. 直接把数据拼接在请求路径的后面(格式:key1=value1&key2=value2)
  3. 大小限制为2kb左右
  4. 会被浏览器主动缓存
  5. 相对于POST不是很安全(明文传输)
  6. 数据格式必须是url编码格式

POST

  1. 倾向于向服务器传递数据
  2. 把数据放在请求主体里面
  3. 大小理论上没有限制
  4. 不会被浏览器主动缓存
  5. 相对于GET是很安全(暗文传输)
  6. 数据可以是任意格式,但是要和请求头里面的content-type保持一致

深层原理

  • GET 和 POST 本质上都是 TCP连接 ,并无差别
  • 底层区别简单来说
    • GET 产生一个TCP数据包
    • POST 产生两个TCP数据包
  • 底层区别长的来说
    • 对于GET方式的请求,浏览器会把 http header 和 data 一并发送出去,服务器响应200(返回数据)
    • 对于POST方式的请求,浏览器先发送 header ,服务器响应 100 continue ,浏览器再发送data,服务器响应 200 ok(返回数据)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值