单页应用的跨域资源共享与安全认证
在现代的Web开发中,单页应用(SPA)越来越流行。然而,当SPA与后端服务进行交互时,会遇到一些诸如跨域资源共享(CORS)和安全认证的问题。本文将详细介绍如何解决这些问题。
1. 跨域资源共享(CORS)的引入
在实际的开发场景中,前端应用和后端服务往往部署在不同的主机上。例如,前端应用可能运行在 localhost:4200 ,而后端服务则运行在 localhost:8080 。以下是一个前端代码示例,用于从后端服务获取书籍列表:
loadBooks(){
this.http
.get<Book[]>('http://localhost:8080/books')
.subscribe(data => {this.books = data});
}
在上述代码中,当按钮点击事件触发 loadBooks 函数时,会发起一个HTTP GET请求到 http://localhost:8080/books 端点,将响应数据赋值给 books 变量。
但由于浏览器的同源策略,默认情况下,运行在一个域名下的应用是不允许访问另一个域名下的资源的。同源策略是一种重要的Web安全机制,它要求脚本只能向同源的服务发起请求。一个URL的源由URI方案、主机名和端口组成。例如,对于URL http://localhost:80
超级会员免费看
订阅专栏 解锁全文
945

被折叠的 条评论
为什么被折叠?



