Performance: Parsing query strings
Parsing query strings affects the initial processing time of incoming URL data, impacting server response speed and overall request handling.
Jump into concepts and practice - no test required
const { URL } = require('url');
const myUrl = new URL(req.url, `http://${req.headers.host}`);
const params = Object.fromEntries(myUrl.searchParams.entries());
// Use paramsconst url = require('url'); const querystring = require('querystring'); const parsedUrl = url.parse(req.url); const params = querystring.parse(parsedUrl.query); // Use params
| Pattern | CPU Usage | Event Loop Blocking | Parsing Speed | Verdict |
|---|---|---|---|---|
| Legacy url.parse + querystring.parse | High | High | Slow | [X] Bad |
| Modern WHATWG URL API | Low | Low | Fast | [OK] Good |
require() to import modules in CommonJS style.const querystring = require('querystring'); correctly imports the module.const querystring = require('querystring');
const url = 'name=John&age=30';
const parsed = querystring.parse(url);
console.log(parsed);parse function converts the query string into an object with keys and values.const querystring = require('querystring');
const url = 'name=Alice&city=Wonderland';
const parsed = querystring.parse(url);
console.log(parsed.name, parsed.city);id=1&id=2&id=3. Using querystring.parse, what will the parsed object look like?id=1&id=2&id=3, the last value '3' is kept.