# http मॉड्यूल — नोड.जेएस

Source: https://www.geekswithgeeks.com/hi/nodejs/node-http-server

> बिना किसी फ़्रेमवर्क के सर्वर बनाएँ और रिक्वेस्ट रूट करें।

## एक न्यूनतम सर्वर

`http.createServer` एक कॉलबैक लेता है जो हर आने वाली रिक्वेस्ट पर चलता है।

```javascript
import http from "node:http";

const server = http.createServer((req, res) => {
  res.writeHead(200, { "Content-Type": "text/plain" });
  res.end("Hello, Node server!");
});

server.listen(3000, () => {
  console.log("Listening on http://localhost:3000");
});
```

Output:

```
Listening on http://localhost:3000
```

## मैन्युअल रूटिंग

बिना फ़्रेमवर्क के, आप खुद `req.method` और `req.url` पर शाखा बनाते हैं।

```javascript
const server = http.createServer((req, res) => {
  if (req.method === "GET" && req.url === "/") {
    res.end("Home page");
  } else if (req.method === "GET" && req.url === "/about") {
    res.end("About page");
  } else {
    res.writeHead(404);
    res.end("Not found");
  }
});
```

## फ़्रेमवर्क यूँ ही नहीं हैं

मैन्युअल रूटिंग जल्दी उलझ जाती है — Express जैसे फ़्रेमवर्क इसी `http` मॉड्यूल के ऊपर साफ़ रूटिंग, middleware और parsing जोड़ते हैं।

**Quiz:** res.end() क्या करता है?

- [ ] सर्वर शुरू करता है
- [x] response भेजता है और उसे बंद कर देता है
- [ ] रिक्वेस्ट हटा देता है

*Answer:* response भेजता है और उसे बंद कर देता है. `res.end()` response body भेजना पूरा करता है; इसके बाद उसमें और डेटा नहीं लिखा जा सकता।
