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 करते हैं इसके बारे में आप आगे पढ़ेंगे।

Related Topics :

Rahul Kumar

Rahul Kumar

Hi ! I'm Rahul Kumar Rajput founder of learnhindituts.com. I'm a software developer having more than 4 years of experience. I love to talk about programming as well as writing technical tutorials and blogs that can help to others. I'm here to help you navigate the coding cosmos and turn your ideas into reality, keep coding, keep learning :)

Get connected with me. :) LinkedIn Twitter Instagram Facebook

b2eprogrammers