POST 和 GET 有什么区别? [复制]

2024-01-03

我最近才开始接触 PHP/AJAX/jQuery,在我看来,这些技术的一个重要部分是POST and GET.

首先,两者有什么区别POST and GET?通过实验,我知道GET将返回变量及其值附加到 URL 字符串

website.example/directory/index.php?name=YourName&bday=YourBday

but POST没有。

那么,这是唯一的区别还是有使用其中之一的特定规则或约定?

其次,我也见过POST and GETPHP 之外:也在 AJAX 和 jQuery 中。怎么办POST and GET这3个有什么区别?它们是相同的想法、相同的功能,只是用途不同吗?


GET and POST是两种不同类型的 HTTP 请求。

根据维基百科 http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol:

GET请求指定资源的表示。请注意,GET 不应用于会产生副作用的操作,例如使用它在 Web 应用程序中执行操作。原因之一是 GET 可能被机器人或爬虫任意使用,它们不应该考虑请求应引起的副作用。

and

POST将要处理的数据(例如,来自 HTML 表单)提交到所识别的资源。数据包含在请求正文中。这可能会导致创建新资源或更新现有资源或两者兼而有之。

所以本质上GET用于检索远程数据,并且POST用于插入/更新远程数据。


HTTP/1.1 specification (RFC 2616) section 9 Method Definitions http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9 contains more information on GET and POST as well as the other HTTP methods, if you are interested.

除了解释每种方法的预期用途之外,该规范还提供了至少一个实际原因GET应该只用于检索数据:

使用 HTTP 协议的服务的作者不应该使用基于 GET 的表单来提交敏感数据,因为这会导致该数据被编码在 Request-URI 中。许多现有服务器、代理和用户代理会将请求 URI 记录在第三方可能可见的某个位置。服务器可以使用基于 POST 的表单提交来代替


Finally, an important consideration when using GET for AJAX requests is that some browsers - IE in particular - will cache the results of a GET request. So if you, for example, poll using the same GET request you will always get back the same results, even if the data you are querying is being updated server-side. One way to alleviate this problem is to make the URL unique for each request by appending a timestamp.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

POST 和 GET 有什么区别? [复制] 的相关文章

  • 对过期会话进行休息调用:HTTP 401 响应导致浏览器显示登录窗口

    我编写了一个 HTML 5 应用程序 它使用 AngularJS 并与在 Tomcat 上运行的 Java REST 后端进行交互 我使用 Spring Security 来处理登录和安全性 当用户进入网站时 他将被转发到登录页面 该页面创
  • C# - 如何进行 HTTP 调用

    我想对网站进行 HTTP 调用 我只需要点击 URL 不想上传或下载任何数据 最简单 最快的方法是什么 我尝试了下面的代码 但它很慢 并且在第二次重复请求后 它只是超时 59 秒 然后恢复 WebRequest webRequest Web
  • 为什么使用 HTTP 动词?

    因为动词的目标是像 server domain getallrecords 或 server domain delete1record 或类似的 URL 而getallrecords delete1record都是专门为特定目的而设计的 为
  • Spring webflow 应用程序:HTTP 302 暂时移动

    我的 java 应用程序中的每个请求都会生成另外 2 个带有 HTTP 302 错误的请求 例如 如果请求查看名为板 html 这个请求是从首页 html 我收到按以下顺序生成的 3 个请求 POST home html 302 Moved
  • Android:从 https url 获取响应

    问候 我正在开发一个 Android 应用程序 需要通过 https 打开一个 url 带有 POST 参数 并获取响应 我有一个自签名证书 这让情况更加复杂 我还需要接受cookies 有人知道从哪里开始吗 提前谢谢了 Android 附
  • 为什么使用HTTP协议时需要指定端口号?

    即使我们使用HTTP协议 为什么还需要用IP地址指定端口号 例如 http xyz 8080 这到底是什么意思 我们已经知道 在使用 HTTP 时 请求将在端口 80 上提供服务 那么为什么我们要显式指定端口呢 HTTP 的默认端口为 80
  • 在 HTML
    中发布额外的值

    我有一个简单的表单 它传递一个值
  • Go中如何自定义http.Client或http.Transport超时重试?

    我想实现一个自定义http Transport对于标准http Client 如果客户端超时 它将自动重试 附 由于某种原因 习俗http Transport is a 一定有 我已经查过了hashcorp go retryablehttp
  • 捕获动态表中 HTML 元素的值

    我有从数据库生成的以下动态表
  • 在读取正文之前拒绝 HTTP 请求

    我正在开发一个网站 用户需要上传一些非常大的文件 该网站是用 PHP 编写的 在某些情况下 我想根据标头拒绝文件 理想情况下 我想在收到标头后立即拒绝请求 而不读取正文 如果标头足以表明该文件应被拒绝 则没有理由读取 200M 的文件 此外
  • Chrome 开发工具无法显示响应,即使返回的内容具有标题 Content-Type:text/html;字符集=UTF-8

    为什么我的 Chrome 开发者工具显示 无法显示响应数据 当返回的内容是text html类型时响应 在开发者工具中查看返回的响应的替代方法是什么 我认为只有当您选中 保留日志 并且您在导航离开后尝试查看先前请求的响应数据时 才会发生这种
  • RestSharp RestClient的默认超时值是多少?

    任何人都知道默认超时值休息锐利 https github com restsharp 休息客户端 RestSharp 在底层使用 HttpWebRequest 它有一个默认超时 https msdn microsoft com en us
  • ASP.NET 中 HTTP 缓存相关标头的有效含义

    我正在 ASP NET 2 0 中开发一个 Web 应用程序 其中涉及通过资源处理程序 ashx 提供图像 我刚刚实现了处理缓存标头和条件 GET 请求 这样我就不必为每个请求提供所有图像 但我不确定我是否完全理解浏览器缓存发生了什么 图像
  • Node.js:server.setTimeout、server.timeout 和 server.keepAliveTimeout 之间有什么区别

    官方文档是here https nodejs org api http html http server settimeout msecs callback server setTimeout 中没有提及有关服务下一个请求的信息 所以我认为
  • HTTP Header Key 可以重复吗?

    在 JAVA HttpUrlConnection 中 请求 Header 设置的主要逻辑代码如下 public synchronized void set String k String v for int i nkeys i gt 0 i
  • 服务器响应中的“连接:保持活动状态”

    我正在尝试建立从 Silverlight 应用程序到 Apache 服务器托管的 PHP 页面的 HTTP 持久连接 即无需为每个 HTTP 请求创建新的 TCP 连接 为此 我需要网络服务器发送其 HTTP 响应 并将 Connectio
  • 从 PCAP 嗅探重建数据

    我试图通过 libpcap 嗅探 HTTP 数据 并在处理 TCP 有效负载后获取所有 http 内容 标头 有效负载 根据我的讨论编写 http 嗅探器 或任何其他应用程序级嗅探器 https stackoverflow com ques
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 无法将 POST 方法与 Feign 一起使用

    我正在尝试为 stockfigher 游戏 api 编写包装器 只是为了了解 feign 的工作原理 但我对第一个 POST 方法有疑问 RequestMapping method RequestMethod POST value venu
  • 最适合“正在进行的作业”的 HTTP 状态代码

    向客户端提供的最合适的 HTTP 状态代码是什么 表示 您的请求很好 但仍在进行中 请稍后在完全相同的位置回来查看 例如 假设客户端提交初始请求以启动繁重的查询 服务器立即返回一个 URL 客户端可以定期轮询该 URL 以获取结果 如果客户

随机推荐

  • 更改图像的 src 属性是否会阻止图像下载?

    假设我有两个手风琴选项卡 第一个加载数百张图像 并在页面加载时打开 如果用户单击第二个手风琴选项卡 我希望能够停止下载图像 通过js改变图片的src属性会阻止图片下载吗 或者请求是否只是继续直到完成而不显示在页面上 我有一个脚本 可以在 3
  • Angular 9 PWA 社交登录重定向 start_url / 索引页面上的问题

    我的角度应用程序正在 Angular 9 上运行 带有 SSR 和 PWA 它在 Heroku cloudflare 上运行 当我尝试在索引页面上通过 Facebook Google 登录时 角度给出请求超时错误 Example 打开索引页
  • ES 6 在定义后动态地处理类

    我之前正在开发自己的 Javascript OOP 但现在我正在玩ES6并想使用该类defined after 定义以一般的方式 Note任何答案new这不是我所追求的 伪代码 base js class Base constructor
  • d3.js中的网络多路由正交图

    We want to use d3 to draw a network route graph that has fixed start and end node but different paths in between that mi
  • 具有 tmux 集成的 Iterm2 不使用 .tmux.conf 中的键绑定

    我已经在 iTerm2 中使用 tmux 一段时间了 但我还没有使用 iTerm2 现在附带的 tmux 集成 我开始考虑使用 tmux 集成 因为它允许您在 tmux 内使用 shell 集成 我遇到的问题是在我这样做之后tmux CC我
  • GWT 中的 Shift 键?

    Is there a way in GWT to tell if the Shift key is down inside of an onClick handler 例如 import com google gwt event dom c
  • 仅对少数路径禁用过滤器

    如何获取过滤器以应用于根路径之外的每个请求 我想忽略的请求除外 这是我的例子 我有一个 Spring Security 过滤器 如下所示 private static class SecurityConfiguration extends
  • Android Firebase 无法刷新电子邮件验证状态

    在我的 Android 应用程序中 我正在创建用户并发送验证电子邮件 当用户通过单击收到的电子邮件中的链接进行验证后 我想继续进入下一页 但是 验证状态未更新 因此我无法继续 我已尝试注销并再次登录 这有效 但我不想以这种方式刷新状态 有任
  • 阿帕奇扭矩项目的入口点

    我有一个项目包含webroot文件夹名称为 war 并包含类似的结构 但它不包含web xml与其他常见的 Web 项目入口点一样 我如何开始这个 Torque 项目 Torques Web 项目的入口点是什么 我的另一个问题在这里xdoc
  • Spring数据查询其中列为空的情况

    假设我有实体 为了简洁起见 省略了 getter setter 和各种细节 Entity class Customer OneToMany cascade CascadeType ALL mappedBy customer Collecti
  • 如何使用镜头库编写依赖于其他镜头的复杂镜头?

    此刻 我有一个WorkLog类型 并带有开始日期和结束日期 我还想添加一个持续时间镜头 它将从开始日期和结束日期派生出来 它应该是只读的 或者如果其值发生更改则更改结束日期 我想知道如何实现这两个版本 即使我只会使用一个版本 这是我的代码
  • Delphi对象持久化,什么是最好的方法

    我已经开发了用于绘制一些形状 主要是线条 的应用程序 现在我需要能够将草图存储到文件中 我知道delphi已经内置了用于对象持久性的例程 但我从未使用过它 有人可以告诉我 如果我必须保留还引用其他对象 将存储到 的对象 可以使用对象持久性吗
  • 在两个 Flask 服务器之间共享会话

    我有一个带有两个 Flask 服务器的后端 一种是处理所有 RESTfull 请求 另一种是 Flask socketio 服务器 有没有办法在这两个应用程序之间共享会话变量 登录用户等 如果这很重要的话 它们确实会在不同的端口上运行 我如
  • 如何立即退出 Windows 窗体 .NET 应用程序?

    在我们的应用程序中 我们有一个相当广泛的异常处理机制 在错误处理逻辑中的某个时刻 我们希望终止应用程序 就在此时 不再执行任何代码 我们当前的代码使用Environment Exit 来做到这一点 调用Environment Exit 后
  • Tkinter 全局绑定

    是否可以用一行将所有小部件绑定到一个命令 如果我可以输入一行而不是单独执行每个小部件 那就太好了 你会使用bind all http epydoc sourceforge net stdlib Tkinter Misc class html
  • ThreeJS X 旋转行为异常

    我正在制作 ThreeJS 演示 目前正在使用箭头键旋转相机 起初一切似乎都很顺利 我可以成功地上下左右旋转 但是 当我向左转动 然后尝试向上或向下旋转时 它会向上和向下旋转 但与我当前的位置无关 它的作用就好像我根本没有向左旋转一样 这是
  • 如何在C#中查询网络连接状态?

    查找连接到互联网或未连接互联网的用户的最佳和快速方法是什么 尝试这个 1
  • 服务器端相当于 HttpContext?

    我有一个 Web 应用程序 当前使用当前的 HttpContext 来存储 LINQ 数据上下文 上下文针对当前请求 基于每个用户 每个里克 斯特拉尔的博客 http www west wind com weblog posts 24622
  • Delphi 中的屏蔽异常

    几天来 我一直在与例外面具努力斗争 但徒劳 我开发了一个应用程序 可以对数十万条记录进行大量浮点计算 显然 代码必须能够处理异常 尤其是与浮点计算相关的异常 溢出 ZeroDivide 等 该应用程序可以在具有许多不同类型处理器的 Wind
  • POST 和 GET 有什么区别? [复制]

    这个问题在这里已经有答案了 我最近才开始接触 PHP AJAX jQuery 在我看来 这些技术的一个重要部分是POST and GET 首先 两者有什么区别POST and GET 通过实验 我知道GET将返回变量及其值附加到 URL 字