0% found this document useful (0 votes)
5 views

Processing URL, QueryString and Paths

The document discusses URLs and their components including the protocol, domain, path, query string, and fragment. It provides an example URL and breaks it down into its components. It also demonstrates how to parse URLs and query strings in Node.js using the url and querystring modules to extract individual components and handle submitted form data.

Uploaded by

bharad waj
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Processing URL, QueryString and Paths

The document discusses URLs and their components including the protocol, domain, path, query string, and fragment. It provides an example URL and breaks it down into its components. It also demonstrates how to parse URLs and query strings in Node.js using the url and querystring modules to extract individual components and handle submitted form data.

Uploaded by

bharad waj
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Processing URL, QueryString

and Paths
Akash Pundir
System Programming-I
Department of Computer Science and Engineering
https://www.example.com/products?id=123&page=1#overview
What are URLs?
URL stands for Uniform Resource Locator. It is
a reference, or an address used to locate
resources on the internet, such as web
pages, images, documents, and other files.

Ex: https://www.google.com/search?q=Value+of+pi
A typical URL has the following components:

• Protocol: This indicates the protocol used to access the resource, such as
HTTP, HTTPS, FTP, etc.
• Domain: This specifies the domain name or IP address of the server where
the resource is hosted.
• Path: This is the specific location of the resource on the server's file system.
• Query String: This is optional and is used to pass parameters to the
resource. It starts with a question mark (?) and consists of key-value pairs
separated by ampersands (&).
• Fragment: Also optional, this specifies a specific section within the resource,
typically used in HTML documents to navigate to a specific part of a
webpage.
https://www.example.com/products?id=123&
page=1#overview

• Protocol: https://
• Domain: www.example.com
• Path: /products
• Query String: id=123&page=1
• Fragment: overview
Processing URLs:
const url = require('url');

const urlString =
'http://example.com/path?foo=bar&baz=qux';
const parsedUrl = url.parse(urlString,true);

console.log(parsedUrl.pathname); // Outputs: '/path'


console.log(parsedUrl.query); // Outputs: { foo:
'bar', baz: 'qux' }
Processing QueryString
const querystring = require('querystring');

const queryString = 'foo=bar&baz=qux';


const parsedQuery = querystring.parse(queryString);

console.log(parsedQuery); // Outputs: { foo: 'bar',


baz: 'qux' }
Create a Node.js application that utilizes the
stream and URL modules to handle data
submitted through a form on the '/submit'
route using the 'GET' method, ensuring that
the received data is saved into a file on the
backend?
const http =require('http');
const fs=require('fs');
const url=require('url');

http.createServer((req,res)=>{
let parsedURL=url.parse(req.url,true);
console.log(parsedURL);
console.log(parsedURL.query.name);
if(parsedURL.pathname=='/'){
let readableStream=fs.createReadStream('public/index.html');
readableStream.pipe(res);
}else if(parsedURL.pathname=='/submit' && req.method=="GET"){
let writableStream = fs.createWriteStream('form_data.txt');
let query = parsedURL.query;
writableStream.write(query.name+'\n');
writableStream.write(query.email);
writableStream.on('finish',() => {
console.log("Form has been saved Successfully");
});
writableStream.end();
res.end("Data has been successfully saved");
}

}).listen(4000);

You might also like