URL 真的可以被视为 HTTP 响应的唯一密钥吗? [关闭]

2024-04-14

这个问题既可以看作是实践问题,也可以看作是理论问题。

我正在设计一个涉及 HTTP 客户端(Flash Player 应用程序)和 HTTP 服务器“后端”的系统。每个注册用户都有自己的私人图像库。图像可以上传,当然随后也可以检索。

由于用户使用携带会话标识符的 cookie 进行身份验证,因此我(以及问题)突然变得清楚,我可以为经过身份验证的客户端提供以下类型的 URL 来检索图像(我的术语中的“资产”)。请注意,资产标识符即使在用户之间也是唯一的,即没有两个用户都拥有 ID 为 555 的资产。此外,资产标识符被假定为真正持久的,即 ID 是不可重用的。我想到的网址是:

http://myserver/user/asset/<asset_id>

括号表示变量值,即显然这些和“asset_id”在这里不应逐字记录,它们表示实际的资产标识符。 “发往”上述 URL 的 HTTP 请求预计会携带带有用户会话标识符的 cookie 标头,该标头唯一地验证并授权用户作为所请求资产的所有者。

我非常追求永久 URL(“酷 URI 不会改变”,正如 Tim Berners-Lie 曾经说过的那样),但显然,由于资产资源对于上传/拥有它们的用户来说是私有的,因此它们不会被缓存任何中间代理,只有用户代理。

我们是否可以将上面的 URL 视为识别用户资产的好方法?我担心的是,响应会根据是否提供有效的会话标识符 cookie 标头而有所不同,因此 URL 和响应之间不存在一对一的关系。但一个人能做的并不多,不是吗?服务器必须检查用户是否有权检索资产,对吗?如果你们对这里的解决方案有任何更好的建议,我也很想听到。谢谢。


你已经说了这一切,我不会改变你的策略:-) 如果未经授权的用户尝试访问某些资产,只需给他一个 403 http 代码......在这种情况下,这是正确且预期的响应

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

URL 真的可以被视为 HTTP 响应的唯一密钥吗? [关闭] 的相关文章

  • 在 Angular 中一起使用 Promise 和服务

    我的问题是基于这个话题 https groups google com forum msg angular qagzXXhS VI p9ArYjfivW8J在 Angular 谷歌小组中 我想提供一个服务 存储通过 http 从后端检索的一
  • 在获得响应之前发出多个请求

    当并行发送多个请求时 在获得响应之前 我无法理解 HTTP 的工作原理 有两种情况 1 With Connection Keep Alive 根据HTTP规范 http www w3 org Protocols rfc2616 rfc261
  • 我应该使用哪种协议来传输音频(非直播)? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在电子邮件中使用协议相对 URL 安全吗?

    关于在 HTML 中使用协议相对 URL 已有讨论 1 但是电子邮件呢 电子邮件客户端或 Gmail 等服务提供商在 HTML 电子邮件中使用时是否会删除或修改协议相对 URL 1 我可以将所有 http 链接更改为 吗 https sta
  • 无法在服务器端 NodeJS 启用 CORS

    我无法启用CORS在服务器端 我的前端和后端服务器有不同的端口 服务器端的实现方式如下 http createServer function req res Here you can create your data response in
  • Node.js 中的 HTTPS 代理服务器

    我正在开发一个node js代理服务器应用程序 我希望它支持HTTP and HTTPS SSL 协议 作为服务器 我目前正在使用node http proxy https github com nodejitsu node http pr
  • Express.js在控制器中获取http方法

    我正在构建一个注册表单 本地护照作为身份验证 表单作为表单助手 因为注册只知道 GET 和 POST 我想在一个函数中完成整个处理 换句话说 我正在寻找类似的东西 exports register function req res if r
  • 从开放的 HTTP 流中读取数据

    我正在尝试使用 NET WebRequest WebResponse 类来访问 Twitter 流 API 此处 http stream twitter com spritzer json 我需要能够打开连接并从打开的连接中增量读取数据 目
  • AWS ALB 截断 HTTP 响应

    我有一个带有目标组的 ALB 和运行 PHP API 的 ECS 集群 我正在尝试查询 API 以获得 CSV 响应 但如果请求通过 ALB 我会得到被截断的结果 当我通过 SSH 连接到运行集群的 EC2 实例并尝试手动运行curl 通过
  • 是否可以在ajax get请求中获取页面的一部分?

    我知道我们可以在向服务器发出 GET 请求时获取整个页面 但是如果我只对该页面上的一个特定 div 感兴趣 或者更准确地说对其内容感兴趣 该怎么办 这里唯一的选择是获取整个页面 例如使用 jquery find 从中获取 div 内容吗 或
  • ReverseProxy取决于golang中的request.Body

    我想构建一个 http 反向代理 它检查 HTTP 主体 然后将 HTTP 请求发送到它的上游服务器 你怎么能在 Go 中做到这一点 初始尝试 如下 失败 因为 ReverseProxy 复制传入请求 修改它并发送 但正文已被读取 func
  • Vertx HttpClient getNow 不工作

    我的 vertx HttpClient 有问题 下面的代码显示使用 vertx 和纯 java 测试 GET Vertx vertx Vertx vertx HttpClientOptions options new HttpClientO
  • 如何测试“If-Modified-Since”HTTP 标头支持

    使用 PHP 如何准确测试远程网站supports If Modified Since HTTP 标头 据我所知 如果您获取的远程文件自标头请求中指定的日期以来已被修改 它应该返回 200 OK 状态 如果尚未修改 则应返回 304 Not
  • 服务器返回网页 404,但页面在浏览器中显示正常 - 为什么?

    一个奇怪的网页横亘在我面前 作为一名开发人员 我必须解开这个谜团 在任何浏览器中访问网页时 一切似乎都很正常 网页按预期显示 但是当查看控制台时 服务器实际上返回了 404 状态代码 那么浏览器为什么要渲染页面呢 查看正文显示返回了有效的
  • Go中如何自定义http.Client或http.Transport超时重试?

    我想实现一个自定义http Transport对于标准http Client 如果客户端超时 它将自动重试 附 由于某种原因 习俗http Transport is a 一定有 我已经查过了hashcorp go retryablehttp
  • 通过 HTTPS 加载页面但请求不安全的 XMLHttpRequest 端点

    我有一个页面 上面有一些 D3 javascript 该页面位于 HTTPS 网站内 但证书是自签名的 当我加载页面时 我的 D3 可视化效果不显示 并且出现错误 混合内容 页面位于 https integration jsite com
  • MPMoviePlayerController 播放 YouTube 视频

    如何在 iPhone 上的 MPMoviePlayerController 中播放 YouTube 视频 同时避免进入全屏模式 这个问题已经在这里提出 MPMoviePlayerController 正在播放 YouTube 视频吗 htt
  • 如何解析 Content-Disposition 标头以检索文件名属性?

    使用 go 如何解析从 http HEAD 请求检索到的 Content Disposition 标头以获取文件的文件名 此外 如何从 http HEAD 响应中检索标头本身 这样的事情正确吗 resp err http Head http
  • 如何增加asp classic的请求接受限制

    我从java小程序向asp classic发送post请求 我在此请求中发送非常大的数据 即 csv 数据 当此请求中的字符数增加并超过 138000 时 asp 不接受该请求 java 小程序给出 500 错误 所以有人可以告诉我如何才能
  • HttpWebRequest vs Webclient(特殊场景)

    我知道这个问题之前已经回答过thread https stackoverflow com questions 1694388 webclient vs httpwebrequest httpwebresponse 但我似乎找不到详细信息 在

随机推荐

  • iPhone 6s Plus 横向尺寸为紧凑型

    我有一部 iPhone 6s Plus 并且有一个支持纵向和横向方向的应用程序 当我旋转设备并读取属性 mainViewController traitCollection horizo ntalSizeClass 时 它始终等于UIUse
  • 如何在不进行试飞的情况下向您的团队分发测试版 iOS 应用程序?

    我已经构建了一个应用程序 我想将它分发给很多用户 直到它获得苹果的批准 我不想用试飞和其他第三方分发应用程序 有什么办法可以做到这一点 Thanks 您可以使用分发配置文件创建 ipa 然后通过邮件或任何共享介质共享它 一般我用dropbo
  • 如何在单独执行“npm install ”后运行安装后脚本

    我正在维护以下目录结构 home user Desktop app package json server js node bin node npm include lib
  • 一次显示多个权限xamarin表单

    我正在为 Android 和 IOS 创建 Xamarin Form PCL 项目 是否可以在屏幕上同时显示多个权限 我的应用程序正在使用位置 存储和相机权限 从我当前的代码来看 这是在不同页面上一一显示权限弹出窗口 就像使用相机之前一样
  • WooCommerce:在结帐页面中默认设置国家/地区

    我在用WooCommerce在我的 WordPress 网站中 默认情况下 结帐页面上会填充客户的账单和运输详细信息 我希望该国家 地区不会被默认设置 相反 即使用户已登录 它也会要求选择国家 地区 有什么建议么 为了实现这个目标我应该做什
  • 如何在 Sails.js 或 Express.js 中设置本地时区

    当我在帆上创建或更新记录时 它会在 updateAt 处写入 updatedAt 2014 07 06T15 00 00 000Z 但我现在是 GMT 2 小时 在这个季节 更新是在 16 00 执行的 我的模型中声明的所有日期时间字段都有
  • C# azure 函数中读取 Azure IoT 设备列表时出现异常

    我正在 C 函数中使用 IoT 中心 SQL 查询来获取 Azure IoT 设备列表 var query registry CreateQuery SELECT deviceId tags SiteId FROM devices 100
  • 我可以使用 line_exists 检查初始值或不相等的值吗?

    ABAP 7 40 添加了line exists 谓词函数来分析内表 但我有什么办法可以检查是否存在特定列为初始值或与目标值不同的行 例如 如何检查具有初始材料列的行 例如此表中的第三行 Document Country Material
  • PhpStorm 本地主机根目录

    在 PhpStorm 中运行项目时 它会将我带到 localhost 63342 MyProject index php 但这会破坏所有链接 因为它将项目名称添加到我的链接工作的 URL 中 因为在域上它们都是 mysite com ima
  • 有条件去抖,取决于 event.keyCode

    我有一个搜索字段 它接受用户输入并使用去抖事件侦听器发出 ajax 请求 html
  • 异常消息:没有工作文件夹映射

    我正在尝试在 tfs vs net 2012 中测试自动化构建 我已在源代码管理资源管理器中设置了工作路径 但现在出现错误 Exception Message There is no working folder mapping for t
  • 切换到没有名称的窗口

    使用 Codeception 测试框架和 Selenium 2 模块来测试网站 我最终点击了一个超链接 该链接打开了一个没有名称的新窗口 结果是switchToWindow 函数将不起作用 因为它正在尝试切换到父窗口 我当前所在的窗口 如果
  • 照常针对 docker 容器运行测试或 dockerize 测试?

    我是 Docker 新手 正在阅读有关 Docker 的文章 这是在独立且可重复的标准化配置 正确完成时 中测试系统的好方法 然而 在我读过的所有内容中 似乎并没有过多强调如何使用 docker 容器进行测试 docker 用于 包含 基础
  • 避免直接访问JSF页面的源代码

    当我请求时 personal faces public login xhtml 那么它工作正常 但是当我请求时 personal public login xhtml没有 faces我获得了该页面的原始源代码 我想避免人们看到页面的源代码
  • 如何在 JavaScript 中对两个对象数组执行内连接?

    我有两个对象数组 var a id 4 name Greg id 1 name David id 2 name John id 3 name Matt var b id 5 name Mathew position 1 id 6 name
  • System.Web.Caching 与企业库缓存块

    对于将在 Web 应用程序和富客户端应用程序中使用的 NET 组件 似乎有两个明显的缓存选项 System Web Caching 或 Ent 库 缓存块 你用什么 Why 系统 Web 缓存 http msdn microsoft com
  • 理解 Svelte 中的上下文(从 React Context 转换)

    我有一个使用 ContextAPI 来管理身份验证的 React 应用程序 我正在尝试在 Svelte 中实现类似的功能 In Authenticate js我有这个 import React useContext useState use
  • velocity.js 最新更新(2.0.3)后无法读取属性“模式”错误

    我的代码直到昨天才有效 id home layer velocity transform scale 2 duration duration easing ease out loop false 现在我收到一个错误 未捕获的类型错误 无法读
  • 谷歌电子表格货币格式带后缀

    我的单元格的数据格式如下 12 345 67 EUR 一万二千三百四十五欧元六十七美分 我无法更改此格式 我需要将其中的很多内容从其他来源复制粘贴到电子表格中 我试图用它进行一些计算 但它向我展示了 VALUE 错误说它是文本 不能强制为数
  • URL 真的可以被视为 HTTP 响应的唯一密钥吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 这个问题既可以看作是实践问题 也可以看作是理论问题 我正在设计一个涉及 HTTP 客户端 Flash Player 应用程序 和 HT