热门标签 | 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”)时,该客户应该没有任何副作用,因为客户没有要求任何其他行为,也不能对此负责。但是,在配置文件视图计数器的情况下,服务器可以将计数器递增,作为配置文件资源的语义的一部分。
推荐阅读
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 本文探讨了在SharePoint环境中使用BDC(Business Data Catalog)时遇到的问题及其解决策略,包括XML文件导入SSP后的不可见性问题以及与远程SQL Server 2005连接的难题。 ... [详细]
  • 本文详细介绍了跨站脚本攻击(XSS)的基本概念、工作原理,并通过实际案例演示如何构建XSS漏洞的测试环境,以及探讨了XSS攻击的不同形式和防御策略。 ... [详细]
  • Git版本控制基础解析
    本文探讨了Git作为版本控制工具的基本概念及其重要性,不仅限于代码管理,还包括文件的历史记录与版本切换功能。通过对比Git与SVN,进一步阐述了分布式版本控制系统的独特优势。 ... [详细]
  • 分布式计算助力链力实现毫秒级安全响应,确保100%数据准确性
    随着分布式计算技术的发展,其在数据存储、文件传输、在线视频、社交平台及去中心化金融等多个领域的应用日益广泛。国际知名企业如Firefox、Google、Opera、Netflix、OpenBazaar等均已采用该技术,推动了技术创新和服务升级。 ... [详细]
  • 本文探讨了在不同场景下如何高效且安全地存储Token,包括使用定时器刷新、数据库存储等方法,并针对个人开发者与第三方服务平台的不同需求提供了具体建议。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了Socket在Linux内核中的实现机制,包括基本的Socket结构、协议操作集以及不同协议下的具体实现。通过这些内容,读者可以更好地理解Socket的工作原理。 ... [详细]
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • 利用Docker部署JupyterHub以支持Python协同开发
    本文介绍了如何通过Docker容器化技术安装和配置JupyterHub,以实现多用户的Python开发环境,特别适合团队协作场景。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • 页面预渲染适用于主要包含静态内容的页面。对于依赖大量API调用的动态页面,建议采用SSR(服务器端渲染),如Nuxt等框架。更多优化策略可参见:https://github.com/HaoChuan9421/vue-cli3-optimization ... [详细]
  • 在CentOS 7中部署Nginx并配置SSL证书
    本文详细介绍了如何在CentOS 7操作系统上安装Nginx服务器,并配置SSL证书以增强网站的安全性。适合初学者和中级用户参考。 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • STM32代码编写STM32端不需要写关于连接MQTT服务器的代码,连接的工作交给ESP8266来做,STM32只需要通过串口接收和发送数据,间接的与服务器交互。串口三配置串口一已 ... [详细]
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社区 版权所有