Modul URL
Penggunaan modul URL sangat tinggi saat menangani permintaan HTTP karena modul ini memungkinkan penguraian URL, menghasilkan URL, dan menyambung URL. Pertama, mari kita lihat komponen URL lengkap.
Salinan kode adalah sebagai berikut:
href
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Host Path
-----------------------------------------------------------------------------------------------------------------------------
http: // user: pass @ host.com: 8080/p/a/t/h? query = string #hash
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Protokol Auth Hostname Port Pathname Pencarian Hash
------------
pertanyaan
Kita dapat menggunakan metode .parse untuk mengonversi string URL ke objek URL, seperti yang ditunjukkan di bawah ini.
Salinan kode adalah sebagai berikut:
url.parse ('http: // pengguna: [email protected]: 8080/p/a/t/h? kueri = string#hash');
/* =>
{protocol: 'http:',
AUTH: 'Pengguna: Pass',
Host: 'host.com:8080',
Port: '8080',
Nama host: 'host.com',
Hash: '#hash',
Cari: '? Query = String',
kueri: 'kueri = string',
pathname: '/p/a/t/h',
Path: '/p/a/t/h? kueri = string',
href: 'http: // pengguna: [email protected]: 8080/p/a/t/h? kueri = string#hash'}
*/
Metode .parse belum tentu merupakan URL lengkap. Misalnya, dalam fungsi callback server http, request.url tidak berisi header protokol dan nama domain, tetapi juga dapat diuraikan menggunakan metode .parse.
Salinan kode adalah sebagai berikut:
http.createServer (function (request, response) {
var tmp = request.url; // => "/foo/bar? A = B"
url.parse (tmp);
/* =>
{Protokol: null,
Slashes: null,
AUTH: NULL,
Tuan rumah: NULL,
Port: Null,
Hostname: null,
Hash: NULL,
Cari: '? A = B',
kueri: 'a = b',
pathname: '/foo/bar',
Path: '/foo/bar? A = B',
href: '/foo/bar? a = b'}
*/
}). Dengarkan (80);
Metode .parse juga mendukung parameter opsional tipe boolean kedua dan ketiga. Ketika parameter kedua sama dengan True, bidang kueri dalam objek URL yang dikembalikan oleh metode ini tidak lagi menjadi string, tetapi objek parameter yang dikonversi oleh modul QueryString. Ketika parameter ketiga sama dengan yang benar, metode ini dapat dengan benar menguraikan URL tanpa header protokol, seperti //www.example.com/foo/bar.
Metode format, pada gilirannya, memungkinkan mengonversi objek URL ke string URL, seperti yang ditunjukkan di bawah ini.
Salinan kode adalah sebagai berikut:
url.format ({
Protokol: 'http:',
Host: 'www.example.com',
pathname: '/p/a/t/h',
Cari: 'Query = String'
});
/* =>
'http://www.example.com/p/a/t/h?query=string'
*/
Selain itu, metode .Resolve dapat digunakan untuk menyambungkan URL, seperti yang ditunjukkan di bawah ini.
Salinan kode adalah sebagai berikut:
url.resolve ('http://www.example.com/foo/bar', '../baz');
/* =>
http://www.example.com/baz
*/
String kueri
Modul QueryString digunakan untuk mengonversi string parameter URL dan objek parameter, seperti yang ditunjukkan di bawah ini.
Salinan kode adalah sebagai berikut:
queryString.parse ('foo = bar & baz = qux & baz = quux & corte');
/* =>
{foo: 'bar', baz: ['qux', 'quux'], corte: ''}
*/
queryString.stringify ({foo: 'bar', baz: ['qux', 'quux'], corte: ''});
/* =>
'foo = bar & baz = qux & baz = quux & corte ='
*/