HTML中GET和POST方法之间的区别

作者: Laura McKinney
创建日期: 1 四月 2021
更新日期: 17 可能 2024
Anonim
千锋Web前端教程:14 get请求和post请求的区别
视频: 千锋Web前端教程:14 get请求和post请求的区别

内容


GET和POST是两种有效的技术,可以将数据发送到服务器,而浏览器必然需要这些才能与服务器通信。这两种方法截然不同,其中GET方法将编码的数据添加到URI,而在POST方法的情况下,将数据添加到正文而不是URI。此外,GET方法用于检索数据。相反,POST方法用于存储或更新数据。

形成 标签用于表达表格的内容;这也称为 形式控制。这些表格中填充有有关数据,然后将其发送到远程计算机进行进一步处理。表单的功能包括两个关键的内容:前者是程序的地址规范,后者借助以下命令处理表单内容 行动。后面是方法规范,借助该规范,表单数据在 方法 属性。

ACTION属性描述如何处理HTML表单。 METHOD属性管理数据的提交过程。 GET和POST方法位于METHOD属性下。

    1. 比较表
    2. 定义
    3. 关键差异
    4. 结论

比较表

比较依据得到开机自检
参数放在里面URI身体
目的取回文件资料更新
查询结果能够被收藏。无法收藏。
安全易受伤害,如平淡无奇比GET方法更安全
表单数据类型约束仅允许使用ASCII字符。
没有约束,甚至允许二进制数据。
表格数据长度应尽量保持最小。可以在任何范围内。
能见度可以被任何人看到。URL中不显示变量。
大小可变最多2000个字符。高达8 Mb
快取方法数据可以被缓存。不缓存数据。


GET方法的定义

GET方法 用于从Web服务器请求URL来获取HTML文档。浏览器传递信息的一种常规方法,该信息被视为HTTP协议的一部分。 GET方法以URL的形式表示,因此可以将其添加为书签。 GET在搜索引擎中广泛使用。用户向搜索引擎提交查询后,引擎将执行查询并提供结果页面。可以将查询结果设置为链接(已添加书签)。

GET方法启用锚点的生成,这有助于在查询中访问CGI程序而无需使用表格。该查询被构建为一个链接,因此当访问该链接时,CGI程序将从数据库中检索合适的信息。

GET方法存在一些安全问题,因为插入的数据在URL中可见。 GET方法只能传递数量有限的数据,因为浏览器可以遍历的URL长度可能是一千个字符。

关于GET方法的另一个问题是它不能处理外语。建议不要使用GET方法,但是当未定义方法属性时,仍将GET方法用作默认方法。

POST方法的定义

开机自检 该方法适用于大量信息可以通过的情况。当服务器通过使用POST的表单接收请求时,它将继续“侦听”剩余信息。简而言之,该方法会在向URL发出请求后立即传输表单输入的所有相关信息。

POST方法需要与Web服务器建立两个联系人,而GET仅建立一个。 POST中的请求的管理方式与GET方法中的管理方式相同,在GET方法中,空格用加号(+)表示,其余字符以URL模式编码。它也可以是文件的项目。

  1. GET方法将参数放在URI内,而POST方法将参数附加到正文中。
  2. GET本质上用于获取信息。与之相反,POST方法的目的是更新数据。
  3. POST查询结果不能添加书签,而GET查询结果可以添加书签,因为它以URL形式存在。
  4. 在GET方法中,信息在URL中可见,这增加了漏洞和被黑客入侵的风险。相比之下,POST方法不会在URL中显示变量,并且还可以在其中使用多种编码技术,从而使其具有弹性。
  5. 当使用GET方法的形式时,数据类型仅接受ASCII字符。相反,POST方法不绑定表单数据类型,并且允许二进制以及ASCII字符。
  6. GET方法中的变量大小约为2000个字符。相反,POST方法最多允许8 Mb的可变大小。
  7. GET方法的数据可缓存,而POST方法的数据则不可缓存。


GET的例子

当用户在浏览器的位置栏中输入任何URL时,例如 http // www.example.com / xyz / file1.htm。然后将该地址转换为有效的HTTP GET请求,例如, GET / xyz / file1.htm HTTP / 1.0.


然后,此请求将传输到服务器 www.example.com。该请求要求 file1.htm 在里面 y目录,以及是否连接到HTTP的1.0方言。在这里,用户提交文件后并不会自己获取文件,实际上,一个程序正在后台运行以处理表单数据。

用户需要传递带有程序名称的表单数据以执行程序。为了实现此执行,将表单信息附加到请求的URL。它会生成具有100个字符的URL和实际数据,例如, http://www.example.com/cgi-x/comments.exe?Name=AI+Alena&Age=23&Gender=female.

POST示例

表单发送的数据可能看起来像 名称= AI + Alena&Age = 23&性别=女性。该程序通过对数据进行分区来处理数据。可以使用以下方式对表单数据进行不同的编码 编码类型 POST方法中的属性。

表单内容通常不会在URL中看到,其主要优点是可以使用POST方法提交大量数据。

结论

GET和POST方法用于将数据输入到服务器,它们之间的主要区别在于GET方法将数据附加到表单的action属性中定义的URI。相反,POST方法将数据附加到请求的正文。当需要在表单中填写敏感信息时,使用GET方法是不合适的。当用户要求填写密码或其他机密信息时,POST方法很有用。