当前位置: 首页 > Web前端 > HTML5

AngularUniversalApplication应该处理HTTPPOST请求吗?

时间:2023-04-05 17:09:52 HTML5

最近笔者和团队其他同事在处理Spartacus客户的SSR性能问题时,从Trace工具中发现,SSR服务器收到了一些HTTPPOST请求——要知道SSR通常只处理页面渲染HTTPGET请求。SSR服务器收到大量奇怪的流量-对于其店面Storefront.com/xyzxyz中不存在的URL。此流量使SSR忙于呈现404页面。也许对传入的URL进行快速预过滤是一个很好的选择,可以防止NodeJS因对不存在的URL进行不必要的工作而过载(这甚至可以被视为DoS攻击,具体取决于规模和意图)。在AngularUniversal应用程序中,可以处理HTTPPOST请求,但不建议在服务器端处理这些请求。原因是服务器端处理一个HTTPPOST请求需要在服务器端调用一个HTTPPOST方法,这通常需要在服务器端创建一个新的HTTP请求,然后发送到后端服务器进行处理。此处理可能会导致一些问题,例如:安全问题:如果您从客户端接收数据并在服务器上对其进行处理,则可能会导致一些安全问题,例如跨站点脚本(XSS)或SQL注入攻击等。带宽问题:将所有POST请求发送到服务器会导致网络流量和服务器负载增加。所以在AngularUniversal应用中推荐将HTTPPOST请求转发给后端服务器,在后端服务器上进行处理。可以使用代理将HTTPPOST请求转发到后端服务器,例如使用Angular的HttpClient,将请求发送到代理服务器,然后在代理服务器上将请求转发到后端服务器。一般来说,AngularUniversal应用程序可以处理HTTPPOST请求,但最好将这些请求转发到后端服务器进行处理,以避免出现安全和性能问题。