我应该在url中传递多个值,还是应该再次从数据库中获取值?

时间:2016-12-17 15:01:02

标签: php

我正在尝试创建一个图片上传网站,其中所有图片都显示在一个页面上,一个在另一个页面下方。现在在这个页面上,我显示了许多图像的属性,例如上传图像的人的姓名,图像的喜欢数量等等,这是我为每个图像做的。我从数据库中获取这些值。现在,当有人点击任何图片时,我希望将此人定向到只显示该图片及其属性的页面。

现在,要做到这一点,我应该通过网址传递我已经从数据库中获取的图像的所有属性吗?如果是,那么它是否安全?如果不是,那么我应该只通过url传递图像的id,然后从数据库中再次获取值?这不会效率低下吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

通过URL传递标识符肯定要好得多。为什么呢?

最佳做法:

这不是安全问题,而是最佳实践问题。任何开发人员都可以理解传递标识符。如果您在团队中工作或者以后必须重新编写代码,这会很有帮助。

特别字符:

当您通过URL传递参数时(使用GET方法),您必须注意特殊字符。例如,空格必须编码。

<强>性能:

除非您每天有数百万次访问,否则再多一次数据库请求不会导致性能下降。此外,你可以做很少的优化:

仅在header( 'Content-type: application/json' ); 和图片id上发出第一个请求,并在第一个请求中查看一张图片的所有信息。

示例:

url

因此,不必在开头加载完整的表,如果并非所有用户都会查找图像的详细信息,这很方便。