一、两种标准
1. WHATWG API【强烈推荐】
const myURL = new URL('xxxx')
这种写法,采用了目前安全性最好的标准,在解析URLs、域名、IP地址、 application/x-www-form-urlencoded格式及他们的API,有已知的最高的安全性。
2. Legacy API【不安全不推荐】
const myURL = url.parse('xxxx')
Legacy API ,至今NodeJS兼容着该写法。虽然这种方式用起来更为简单一些,但不安全,所以不推荐。
Legacy API 会空格及以下特殊字符串进行encode:
< > " ` \r \n \t { } | \ ^ '
仅做这些,安全性绝对比不上WHATWG,https://url.spec.whatwg.org
vscode工具也有提示:@deprecated — since v11.0.0 - Use the WHATWG URL API.


本文探讨了在Node.js中遇到的TypeError: URL is not a constructor问题,强调了采用WHATWG API作为更安全的标准,并提供了不同Node版本下的正确使用方式。在Node V10.X及以上版本,可以直接使用全局的URL类,而在V8.x, V6.x版本则需要通过require('url').URL来访问。避免混合使用WHATWG API和Legacy API以确保代码的安全性。"
128103993,5665624,超级节点:Serverless与Serverful的最佳平衡,"['Serverless', 'Kubernetes', '云原生', '腾讯云', '容器']
最低0.47元/天 解锁文章
779






