我显示我希望用户能够删除的图像。我这是用AJAX请求做的。
最佳做法是:
只传递图像的ID,使用mysql查找该记录的文件名,然后删除该文件?
OR
一个使用更多带宽,另一个使用更多处理能力。
无论哪种方式我都需要ID,因为我必须删除记录。
答案 0 :(得分:3)
将评论转换为答案,因为我认为这很重要。
就优化而言,你所考虑的是如此微不足道,以至于不值得花时间。
就安全噩梦而言,允许用户从文件系统中指定删除的任意字符串似乎有点......粗心。
由于您需要验证src
是否与id
正确配对,因此无论如何都需要在数据库中进行查找,这会使您的问题无效。
答案 1 :(得分:1)
任一请求(带或不带路径名)的网络有效负载大小很可能适用于单个IP数据包1.5KiB,即使协议开销也是如此。因此,网络带宽的差异并不重要。
另外,除非您的应用程序是某种特殊情况,否则图像删除可能比大多数情况下更为罕见。如果我是你,我不会担心这种开销。
我建议你把精力放在安全问题上。发出请求的用户是否有权删除特定图像?不受信任的用户是否容易进行破坏性的批量删除?