• 2.GET和POST的区别


    一、GET
    预定义的 $_GET 变量用于收集来自 method=“get” 的表单中的值。
    在 HTML 表单中使用 method=“get” 时,所有的变量名和值都会显示在 URL 中,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送信息的量也有限制。

    注释:所以在发送密码或其他敏感信息时,不应该使用这个方法!正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。

    注释:GET 方法不适合大型的变量值。它的值是不能超过 2000 个字符的。

    get请求的过程
    (1)浏览器请求tcp连接(第一次握手)
    (2)服务器答应进行tcp连接(第二次握手)
    (3)浏览器确认,并发送get请求头和数据(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送)
    (4)服务器返回200 OK响应

    二、POST
    预定义的 $_POST 变量用于收集来自 method=“post” 的表单中的值。

    从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。

    注释:默认情况下,POST 方法的发送信息的量最大值为 8 MB(可通过设置 php.ini 文件中的 post_max_size 进行更改)。由于变量不显示在 URL 中,所以无法把页面加入书签。

    post请求的过程
    (1)浏览器请求tcp连接(第一次握手)
    (2)服务器答应进行tcp连接(第二次握手)
    (3)浏览器确认,并发送post请求头(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送)
    (4)服务器校验成功后返回100 Continue响应
    (5)浏览器发送请求体
    (6)服务器返回200 OK响应

    三、区别
    1.post请求包含更多的请求头.
    2.post在真正接收数据之前会先将请求头发送给服务器进行确认,然后才真正发送数据.
    3.get会将数据缓存起来,而post不会.

  • 相关阅读:
    ApplicationContext对象的获取
    WordPress主题开发( 七)之—— 模版文件继承规则
    golang中使用泛型
    C语言求一维数组逆置
    SpringMVC原理学习(一)RequestMappingHandlerMapping 与 RequestMappingHandlerAdapter
    时间轴-新年倒计时(实操java)
    DPDK mlx5 驱动使用报错
    JDK自带JVM分析工具
    钉钉杯初赛A题建模-多模型融合预测银行卡诈骗模型(详细代码、解释)
    mysql数据库连接后缀的作用
  • 原文地址:https://blog.csdn.net/red_g/article/details/126951887