我对服务器渲染的理解

60 阅读1分钟
  1. 在服务端渲染的模式下,当客户端请求一个页面时,服务器会处理这个请求,生成完整的HTML内容,然后将这个已渲染完成的HTML发送给客户端。这是一个完整的HTML,这个完整的HTML可以直接渲染。
  2. 在客户端渲染的模式下,服务器发送给客户端的只是一个基本的HTML框架,以及JavaScript、CSS等资源的链接。客户端浏览器下载并执行这些JavaScript代码,JavaScript代码再通过操作DOM来动态地生成页面内容(通常这些数据会通过Ajax从服务端获取)。
  3. 如果现在我写了一个接口,直接返回完整的HTML可直接用于浏览器渲染这其实就是模拟了服务器渲染。
  4. 比如我在服务器端直接返回一个Header组件
@Controller
public class HtmlController {

    @GetMapping("/header")
    @ResponseBody
    public String headerComponent() {
        return "<div class='header'>这是一个Header组件</div>";
    }
}
fetch('/header') .then(response => response.text()) 
// 将响应体转换为文本 
.then(html => { document.getElementById('header-placeholder').innerHTML = html; }) 
.catch(error => console.error('Error loading the header:', error));
  1. 当我直接调用这个接口得到的是一个完整的可以直接使用的html。我可以拿到它直接插入到对应的html里面。