什么是 HTTP ?

超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信。

HTTP 的工作方式是客户端与服务器之间的请求-应答协议。

web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。

举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。


两种 HTTP 请求方法:GET 和 POST

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。

  • GET - 从指定的资源请求数据。
  • POST - 向指定的资源提交要被处理的数据。

一、GET 方法

查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:

/test/demo_form.php**?name1=value1&name2=value2**

有关 GET 请求的其他一些注释:

  • GET 请求可被缓存

  • GET 请求保留在浏览器历史记录中

  • GET 请求可被收藏为书签

  • GET 请求不应在处理敏感数据时使用

  • GET 请求有长度限制

  • GET 请求只应当用于取回数据

二、POST 方法

查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:

POST /test/demo_form.php HTTP/1.1
Host: runoob.com
name1=value1&name2=value2

有关 POST 请求的其他一些注释:

  • POST 请求不会被缓存

  • POST 请求不会保留在浏览器历史记录中

  • POST 不能被收藏为书签

  • POST 请求对数据长度没有要求

三、比较 GET 与 POST

GET POST
后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数据会被重新提交)。
书签 可收藏为书签 不可收藏为书签
缓存 能被缓存 不能缓存
编码类型 application/x-www-form-urlencoded application/x-www-form-urlencoded or multipart/form-data。为二进制数据使用多重编码。
历史 参数保留在浏览器历史中。 参数不会保存在浏览器历史中。
对数据长度的限制 是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。 无限制。
对数据类型的限制 只允许 ASCII 字符。 没有限制。也允许二进制数据。
安全性 与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。 在发送密码或其他敏感信息时绝不要使用 GET ! POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。
可见性 数据在 URL 中对所有人都是可见的。 数据不会显示在 URL 中。

HTTP 方法:GET 对比 POST相关推荐

  1. 动态slimmable网络:高性能的网络轻量化方法!对比slimmable涨点5.9%

    动态slimmable网络:高性能的网络轻量化方法!对比slimmable涨点5.9% 论文链接: https://arxiv.org/abs/2103.13258 代码: https://githu ...

  2. python最快的循环方法_【转】【Python效率】五种Pandas循环方法效率对比

    [Python效率]五种Pandas循环方法效率对比 - 文兄的文章 - 知乎 https://zhuanlan.zhihu.com/p/80880493 正文: 如果你使用过Python及Panda ...

  3. 循环下标_【转】【Python效率】五种Pandas循环方法效率对比

    [Python效率]五种Pandas循环方法效率对比 - 文兄的文章 - 知乎 https://zhuanlan.zhihu.com/p/80880493 正文: 如果你使用过Python及Panda ...

  4. 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比。...

    先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比. JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素 复制代码 ...

  5. 一种改版后检查硬件PCB生产资料的方法***-----Gerber对比,检查的方法

    一种改版后检查硬件PCB生产资料的方法-----Gerber对比,检查的方法 一.前言 硬件电路设计改版是常有的事,不管小的实物,还是需求变更经常会遇到要增加或者减少器件,修改走线这些.在第一版已经做 ...

  6. 斐波那契序列的实现方法及对比

    #include<iostream> using namespace std; int FeiboNon(int n) // 非递归实现 {int Feif = 1;int Feis = ...

  7. mybatis批量更新数据三种方法效率对比

    探讨批量更新数据三种写法的效率问题. 实现方式有三种, 1> 用for循环通过循环传过来的参数集合,循环出N条sql,需要在db链接url后面带一个参数  &allowMultiQuer ...

  8. 电磁攻击方法与能量攻击方法的对比

    摘  要:旁道攻击是避开复杂的密码算法,利用密码算法在软硬件实现中泄露出的各种信息进行攻击,电磁攻击和能量攻击是两种不同旁道攻击方法,二者既有共同之处,又有各自的特点,可以通过实验分析,进行对比.   ...

  9. [转载]【转】ArcGIS 10安装方法(对比流行的2种安装方法)||迅雷电驴下载

    原文地址:[转]ArcGIS 10安装方法(对比流行的2种安装方法)||迅雷电驴下载地址作者:MakerEasy ArcGIS 10下载地址 (复制贴到迅雷新建下载里) thunder://QUFod ...

  10. 深度聚类方法之对比聚类(Contrastive Clustering,CC)

    深度聚类方法之对比聚类(Contrastive Clustering,CC) 1.参考文献 <Contrastive Clustering> 2.深度聚类方法 深度聚类方法大致分为以下几类 ...

最新文章

  1. SNF快速开发平台MVC-高级查询组件
  2. matlab中rat=1函数,matlab中的format rat是什么意思
  3. java实现zip的压缩和解压(支持中文文件名)
  4. 新元素之section,article,aside
  5. oracle体系结构和组件图示,Oracle 体系结构组件
  6. Java bean 是个什么概念?
  7. php网站分区,PHP - Manual: 分区和分片 (官方文档)
  8. hadoop3.1.2 配置 3台 完全分布式
  9. iis7 php 文件 不可写,PHP配置文件不會加載IIS7 x64
  10. 产品需求文档五分钟轻松搞定!这可能史上最全PRD文档模板
  11. 微PE安装win10系统 GPT、BOOTMGR PBR、EFI PART红色
  12. 高性能Mysql中文版
  13. 公司邮箱怎么申请注册?电子邮箱注册教程来了
  14. Keil编译后Code RO Data Rw Data ZI的含义
  15. python_判断是否回文
  16. protel 二极管正负极怎么看
  17. FastDfs分布式文件存储系统
  18. 使用虚拟机备份软件备份Microsoft Hyper-V 虚拟机
  19. 福特FORD EDI流程指南
  20. 新版火狐 拖 功能_Firefox 33的新功能

热门文章

  1. Arduino的光敏传感器和超声波测距传感器测试代码
  2. 好污!杜蕾斯:一份2017年度账单和床上总结求认领...
  3. 《ES6标准入门》49~68Page 数值的拓展 数组的拓展
  4. Exception: This is not supported, use MenuItemCompat.getActionProvider()的处理
  5. HTML5拖放(drag and drop)与plupload的懒人上传
  6. li在ie6 、ie7里莫名其妙的出现几px的margin
  7. 忠告28:奥纳西斯:处处留心皆学问
  8. Azure Redis 系列之 Azure Redis部署
  9. 云的普及难易,云计算普及的难易
  10. sdwan技术发展正蚕食mpls市场—vecloud