• 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不会.

  • 相关阅读:
    leetcode 79. 单词搜索
    容器 - 八大架构的演进
    老卫带你学---leetcode刷题(557. 反转字符串中的单词 III)
    Rust中的过程宏
    pytorch中对nn.BatchNorm2d()函数的理解
    【Verilog基础】DFT(Design for Test)可测性设计的一些基础概念
    FRED案例:矩形微透镜阵列
    全球地下水水位数据
    Windows 下安装NPM
    C++——string
  • 原文地址:https://blog.csdn.net/red_g/article/details/126951887