zoukankan      html  css  js  c++  java
  • http访问中GET和POST的原理解析

    1.HTTP有几种请求方法:

      在HTTP1.1中总共定义了8种方法:

      在HTTP1.0中,定义了三种请求方法:GET,POST和HEAD方法。

      在HTTP1.1中,新增了五种请求方法:OPTINOS,PUT,DELETE,TRACE和CONNECT方法。

      但我们常用的就是get和post方法

    2.GET和POST两种请求方法都有哪些区别?

      1.get的传递参数是放在url中的,而post的请求方式是放在request body中的,所以post比get更安全。

      2.get传递的参数有大小限制,在2k以下,post参数在2G以下。

      3.get请求只能进行url编码( application/x-www-form-urlencoded),而post支持多种编码格式

      4.get请求会被浏览器主动缓存,而post不会,除非手动设置。

    3.GET请求有request body吗,如果有的话,可以像post一样放在里面吗?

      因为GET和POST都是基于TCP/IP的底层通信协议,所以在技术上get也是可以加入request body的,但是由于上层的HTTP协议的不同,导致服务器不一定能够解析到request body

    4.GET请求的参数写法是固定的吗?

      在约定中我们是将参数写在?后面,使用&分割,但是也可以自己定义,但是需要服务器端进行相应的解析处理。

    5.POST比GET方法更加安全,这种说法对吗?

      不对,因为HTTP在网络上都是明文传输的,所以并不完全安全,如果要安全传输,只有加密,也就是使用HTTPS。

    6.GET和POST请求发送的数据包有什么不同?

      GET请求时产生一个TCP数据包,POST请求时产生两个TCP数据包。

      GET:浏览器会把http header和data一并发送过去,服务器返回200(返回数据)

      POST:浏览器先发送header,服务器响应100 connect,浏览器再发送data,服务器响应200 OK(返回数据)

      

  • 相关阅读:
    对图像去噪的拙见
    FastIV图像处理
    常见小波变换开源代码
    暗通道去雾与自适应直方图均衡去雾之比较
    CUDA编程札记
    一种极快速去模糊效应图像细节增强及其应用
    基于稀疏表示的人脸识别
    C# Update Oracle Blob字段的一个错误问题
    ArcEngine开发过程中 Erase工具调用失败的解决办法
    模型化空间分析原型系统开发
  • 原文地址:https://www.cnblogs.com/wk-missQ1/p/15215632.html
Copyright © 2011-2022 走看看