NodeJS http Module


http Module, Node JS का सबसे important module है , इस module की help से हम connections को manage करते हैं। client request को handle करते हैं और response generate करते हैं।

http Module's All Methods

METHODS property की help से हम सभी http module में present methods की listing करता है।

Copy Fullscreen Close FullscreenRun
//import http module
const http = require('http')
console.log(http.METHODS)
C:\Users\HP\Desktop\workspace\nodejs>node app.js
[
  'ACL',         'BIND',       'CHECKOUT',
  'CONNECT',     'COPY',       'DELETE',
  'GET',         'HEAD',       'LINK',
  'LOCK',        'M-SEARCH',   'MERGE',
  'MKACTIVITY',  'MKCALENDAR', 'MKCOL',
  'MOVE',        'NOTIFY',     'OPTIONS',
  'PATCH',       'POST',       'PROPFIND',
  'PROPPATCH',   'PURGE',      'PUT',
  'REBIND',      'REPORT',     'SEARCH',
  'SOURCE',      'SUBSCRIBE',  'TRACE',
  'UNBIND',      'UNLINK',     'UNLOCK',
  'UNSUBSCRIBE'
]

http Request STATUS CODE

इसी तरह STATUS_CODE property सभी request status code को describe करता है।

Copy Fullscreen Close FullscreenRun
//import http module
const http = require('http')
console.log(http.STATUS_CODES)
C:\Users\HP\Desktop\workspace\nodejs>node app.js
{
  '100': 'Continue',
  '101': 'Switching Protocols',
  '102': 'Processing',
  '103': 'Early Hints',
  '200': 'OK',
  '201': 'Created',
  '202': 'Accepted',
  '203': 'Non-Authoritative Information',
  '204': 'No Content',
  '205': 'Reset Content',
  '206': 'Partial Content',
  '207': 'Multi-Status',
  '208': 'Already Reported',
  '226': 'IM Used',
  '300': 'Multiple Choices',
  '301': 'Moved Permanently',
  '302': 'Found',
  '303': 'See Other',
  '304': 'Not Modified',
  '305': 'Use Proxy',
  '307': 'Temporary Redirect',
  '308': 'Permanent Redirect',
  '400': 'Bad Request',
  '401': 'Unauthorized',
  '402': 'Payment Required',
  '403': 'Forbidden',
  '404': 'Not Found',
  '405': 'Method Not Allowed',
  '406': 'Not Acceptable',
  '407': 'Proxy Authentication Required',
  '408': 'Request Timeout',
  '409': 'Conflict',
  '410': 'Gone',
  '411': 'Length Required',
  '412': 'Precondition Failed',
  '413': 'Payload Too Large',
  '414': 'URI Too Long',
  '415': 'Unsupported Media Type',
  '416': 'Range Not Satisfiable',
  '417': 'Expectation Failed',
  '418': "I'm a Teapot",
  '421': 'Misdirected Request',
  '422': 'Unprocessable Entity',
  '423': 'Locked',
  '424': 'Failed Dependency',
  '425': 'Too Early',
  '426': 'Upgrade Required',
  '428': 'Precondition Required',
  '429': 'Too Many Requests',
  '431': 'Request Header Fields Too Large',
  '451': 'Unavailable For Legal Reasons',
  '500': 'Internal Server Error',
  '501': 'Not Implemented',
  '502': 'Bad Gateway',
  '503': 'Service Unavailable',
  '504': 'Gateway Timeout',
  '505': 'HTTP Version Not Supported',
  '506': 'Variant Also Negotiates',
  '507': 'Insufficient Storage',
  '508': 'Loop Detected',
  '509': 'Bandwidth Limit Exceeded',
  '510': 'Not Extended',
  '511': 'Network Authentication Required'
}

http.createServer()

यह http.Server class का instance (Object) return करता है। यह function एक तरह से client requests handle करने के लिए environment set करता है। http.createServer() function एक callback function accept करता है जो http.ClienRequest और http.ServerResonse class के instances (Objects) होते हैं।

const server = http.createServer((req, res) => {
  //handle every single request with this callback
  
  //here req is the instance of http.ClienRequest class & 
  //res is the instance of http.ServerResonse class
})

http.ClienRequest /req instance से हम client द्वारा send की गयी request के बारे में सभी information like : query parameters , form data , request path / url etc . get करते हैं। जबकि http.ServerResonse / res से हम request और need के according client को response send करते हैं।

http.listen()

http.listen() method client requests के लिए server start करता है। हालाँकि requests को कैसे handle करते हैं इसके बारे में आप आगे पढ़ेंगे।

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 4.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook