由于我无法在构建动态网站的主题中自由定位,因此我很难谷歌这一点。所以我会试着向你解释这个问题。
我正在开发一个简单的社交网络。我已经使用POST方法构建了一个基本的PHP API,例如“get_profile.php”,“add_post.php”等文件,用于传递一些数据。然后我尝试使用JS AJAX获取数据(php函数通过JSON返回它),这意味着我获得了在页面加载后我需要在页面上显示的所有数据。这导致页面加载速度降低,我觉得这种结构确实是错误的。
我希望你能解释我如何建立一个合适的结构,或者至少给我一些阅读的链接。感谢。
答案 0 :(得分:0)
如果我理解你的架构是正确的,那听起来不错。
使您的体系结构与此类似,您可以为页面结构提供templates,然后使用ajax请求中的数据填充该结构。这也使您的服务器更快,因为它也不必渲染HTML。
请注意你提出的请求数量,如果每个客户都做了很多,你就会遇到问题。
尝试将您的应用程序分解为不同的主要部分并依次处理每个部分。这将允许您稍后将它们分成模块。这种做法也称为微服务架构。
在您将它们分解后,尝试并计算用户交互和模式。这将帮助您以一种可以轻松优化大多数frequest用例的方式设计数据库和模型。
你应该研究facebook如何做事。他们对此非常开放。 例如,BigPipe方法是我在加载页面时看到的最快的方法。
此外,我认为您应该阅读一些有关RESTful应用程序和SOA类型体系结构的内容。
答案 1 :(得分:0)
使用服务器端的(最少)所需数据填充HTML,并使用AJAX在客户端加载所有其他必要数据(如您所做)。
无论如何,我会在您的应用程序中查找最重要的瓶颈。你是否并行化AJAX请求?
例如,Facebook没有使用服务器端的实际数据填充HTML,但提供了粗略的结构,稍后使用AJAX请求填充。