热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

调用增加视图时的HTTP动词GET或PATCH或POST或PUT

如何解决《调用增加视图时的HTTP动词GET或PATCH或POST或PUT》经验,为你挑选了1个好方法。

我有这样的终点

/profiles/1

我想获取ID为1的配置文件,但同时将访问的属性增加1。该属性作为对象的一部分出现。我应该使用哪个HTTP动词来获取访问属性增加1的配置文件对象。

每次获取ID为1的配置文件时,访问的属性都会增加1。



1> cassiomolin..:

我应该使用哪个HTTP动词来获取访问属性增加1的配置文件对象?

GET方法旨在用于数据检索,因此是一种候选方法。引用RFC 7231,该文档当前定义了HTTP / 1.1协议的语义和内容:

4.3.1。得到

GET方法请求传输目标资源的当前所选表示。GET是信息检索的主要机制,也是几乎所有性能优化的重点。[...]

GET方法还被定义为安全只读)和幂等使用该方法的多个相同请求与单个此类请求的效果相同)。

但是它仍然在桌子上。再次引用RFC 7231(重点是我的):

4.2.1。安全方法

如果请求方法的定义语义本质上是只读的,则将其视为“安全”。也就是说,由于将安全方法应用于目标资源,客户端不会请求也不会期望原始服务器上的任何状态更改。[...]

安全方法的这种定义不会阻止实现包含可能有害的行为,该行为不是完全只读的,或者在调用安全方法时会引起副作用。 但是,重要的是客户没有要求其他行为,因此不能追究其责任。例如,大多数服务器在每次响应完成时都将请求信息附加到访问日志文件中,而不管采用哪种方法,即使日志存储空间可能已满并使服务器崩溃,这也被认为是安全的。[...]

4.2.2。幂等方法

如果使用该方法的多个相同请求在服务器上的预期效果与单个此类请求的效果相同,则该请求方法被视为“幂等”。[...]

就像保险柜的定义一样,幂等属性仅适用于用户所要求的内容;服务器可以自由地单独记录每个请求,保留版本控制历史记录或为每个幂等请求实现其他非幂等副作用。

假设您要计算检索配置文件的次数,则可以将其附加到GET操作上。但是,您可能希望避免例如在机器人击中端点时增加计数器。

因此,在某些情况下,GET允许请求具有副作用。但是,重要的是,客户端没有请求其他行为,因此不能追究其责任:服务器的职责是服务器的责任。

最终,说HTTP不在乎下面的存储也很重要,因此您可以将视图计数存储在与概要文件数据相同的表中,也可以存储在不同的表或完全不同的数据库中。然后一起检索所有数据,或使用不同的端点作为视图计数。


@Angad _“幂等与服务器上资源状态产生的影响有关,与客户端收到的响应状态代码无关”。这是我的[其他答案](/sf/ask/17360801/)的报价。我的意思是,幂等性与服务器上资源的状态有关,而与状态代码无关。考虑客户端执行一个“ DELETE”请求来删除资源。资源被删除,服务器返回“ 204”。然后客户端重复相同的“ DELETE”请求,并且由于资源已被删除,服务器返回“ 404”。
@Angad`DELETE`请求是幂等的,因为单个请求(删除资源)的效果与多个请求的效果相同,尽管状态码不同。
@Angad _“幂等属性仅适用于用户请求的属性” _这是[RFC 7231](https://tools.ietf.org/html/rfc7231)中的引号,它定义了幂等性。当客户请求一个配置文件的表示(使用安全且幂等的“ GET”)时,该客户应该没有任何副作用,因为客户没有要求任何其他行为,也不能对此负责。但是,在配置文件视图计数器的情况下,服务器可以将计数器递增,作为配置文件资源的语义的一部分。
推荐阅读
  • 本文总结了汇编语言中第五至第八章的关键知识点,涵盖间接寻址、指令格式、安全编程空间、逻辑运算指令及数据重复定义等内容。通过详细解析这些内容,帮助读者更好地理解和应用汇编语言的高级特性。 ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • Vue 2 中解决页面刷新和按钮跳转导致导航栏样式失效的问题
    本文介绍了如何通过配置路由的 meta 字段,确保 Vue 2 项目中的导航栏在页面刷新或内部按钮跳转时,始终保持正确的 active 样式。具体实现方法包括设置路由的 meta 属性,并在 HTML 模板中动态绑定类名。 ... [详细]
  • 使用Numpy实现无外部库依赖的双线性插值图像缩放
    本文介绍如何仅使用Numpy库,通过双线性插值方法实现图像的高效缩放,避免了对OpenCV等图像处理库的依赖。文中详细解释了算法原理,并提供了完整的代码示例。 ... [详细]
  • 本文详细介绍了 BERT 模型中 Transformer 的 Attention 机制,包括其原理、实现代码以及在自然语言处理中的应用。通过结合多个权威资源,帮助读者全面理解这一关键技术。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文介绍了如何在具备多个IP地址的FTP服务器环境中,通过动态地址端口复用和地址转换技术优化网络配置。重点讨论了2Mb/s DDN专线连接、Cisco 2611路由器及内部网络地址规划。 ... [详细]
author-avatar
唐静静y
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有