Node.js ile HTTP istekleri yapma ve sunucu oluşturma işlemleri, web uygulamaları geliştirirken temel adımlardan biridir. İşte Node.js kullanarak HTTP istekleri yapma ve sunucu oluşturma konularına dair genel bir rehber:
**HTTP Sunucu Oluşturma
*
Node.js ile HTTP sunucusu oluşturmak için `http` modülünü kullanırız. İşte temel bir HTTP sunucu örneği:
```javascript
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Merhaba, Node.js sunucusuna hoş geldiniz!');
});
const port = 3000;
server.listen(port, () => {
console.log(`Sunucu ${port} portunda dinleniyor...`);
});
```
Bu örnekte, `createServer` metoduyla bir HTTP sunucusu oluşturulur. Gelen her istek için, yanıtı hazırlayarak `res.end` ile göndeririz. Sunucuyu belirli bir port üzerinde dinlemeye başlamak için `server.listen` kullanılır.
**HTTP İstekleri Yapma
*
Node.js ile dışarıya HTTP istekleri yapmak için `http` modülünün yanı sıra `https` modülünü veya üçüncü taraf kütüphaneleri de kullanabilirsiniz. İşte temel bir HTTP GET isteği örneği:
```javascript
const http = require('http');
const options = {
hostname: 'api.example.com',
path: '/endpoint',
method: 'GET'
};
const req = http.request(options, (res) => {
let data = '';
res.on('data', (chunk) => {
data += chunk;
});
res.on('end', () => {
console.log(data);
});
});
req.on('error', (error) => {
console.error(error);
});
req.end();
```
Bu örnekte, `http.request` metodu ile belirtilen host ve yol üzerinden GET isteği yaparız. Yanıtın gelmesiyle `data` değişkenine veriyi birleştirir ve işlem tamamlandığında sonucu gösteririz.
Daha karmaşık senaryolarda, üçüncü taraf kütüphaneleri kullanarak daha gelişmiş özelliklerden yararlanabilirsiniz. Örneğin, popüler `axios` veya `node-fetch` kütüphaneleri sıkça tercih edilen seçenekler arasındadır.
Unutmayın ki, gerçek projelerde hata yönetimi, güvenlik ve performans gibi konuları da göz önünde bulundurmalısınız.