我正在express.js上构建一个网站,我想知道在哪里存储图像。某些“静态”网站信息(如团队页面)将由数据库支持。如果新的团队成员加入,我们会将新数据推送到CouchDB,并在网站上显示新的团队页面。如何获取图像到客户端?
团队页面将包含一个配置文件图片,该图片将与其他数据一起存储在CouchDB中。
我应该通过网络服务器发送图像还是发送引用到图像的位置,并让客户机从数据库抓取图像,因为CouchDB本身就是HTTP服务器?
我正在express.js上构建一个网站,我想知道在哪里存储图像。某些“静态”网站信息(如团队页面)将由数据库支持。如果新的团队成员加入,我们会将新数据推送到CouchDB,并在网站上显示新的团队页面。如何获取图像到客户端?
团队页面将包含一个配置文件图片,该图片将与其他数据一起存储在CouchDB中。
我应该通过网络服务器发送图像还是发送引用到图像的位置,并让客户机从数据库抓取图像,因为CouchDB本身就是HTTP服务器?
我不是Couch DB的专家,但这里是我的2美分。一般来说,为每个图像打DB,会增加负载。如果网站将被许多人访问,那将是很多。
理想的方式是与CDN一起提供服务,并让CDN服务器指向您的资源服务器/网络服务器。
您可以将配置文件图片(以及任何其他文件)作为附件存储到文档中。负载与其他网络服务器相同。
文档:
CouchDB的管理的附件以及对文档或视图中的ETag。已经缓存了图片的客户已经获得了每个相同请求的轻量级304响应。您可以使用我的基于CouchDB的博客lbl.io进行试用。打开您最喜爱的浏览器开发人员栏并在多次刷新过程中观察图像请求。提示1:如果您有inline-attachment-upload(文档中编码的Base64,1个创建带附件的文档请求)或上载附件(原始内容类型中的多部分/相关)之间的选择, 2请求创建一个附件的文档或1个请求在文档已经存在时创建附件)....然后选择第二个。由CouchDB处理更高效。
提示2:你可以configure CouchDB to handle gzip compression by the content-type的附件。它减少了很多负担。
所以,这会很好,但我通过SSL提供了我所有网站的内容。当我的CDN尝试通过CNAME提供我的网站图片但没有我的SSL证书时,我得到“不可信任的一方”错误;正确如此。 – Costa