Express.js Nedir?

Express.js Nedir?

Expressjs, Nodejs tabanlı bir web uygulama framework'üdür Sunucu tarafında çalışan web uygulamaları oluşturmak için kullanılır HTTP isteklerini kolayca yönetir ve özelleştirmeye imkan verir Get ve Post isteklerinin yönetimi için kullanılabilir View ve template engine kullanarak istemciye cevap verme özelliği sunar Bu özelliklerin kullanımı için views klasörü ve template engine kütüphanesi kullanılır Expressjs, diğer JavaScript kütüphaneleriyle birlikte kullanılabilecek şekilde tasarlanmıştır ve açık kaynaklıdır

Express.js Nedir?

Express.js, web uygulamaları oluşturmak için kullanılan açık kaynak kodlu bir Node.js web framework'üdür. Node.js, sunucu tarafında çalışabilen bir JavaScript çalışma ortamıdır. Bu nedenle Express.js, sunucu tarafında çalışan web uygulamaları oluşturmak için ideal bir seçimdir. Express.js, HTTP isteklerini yönetmek için kolay bir yöntem sunar. Aynı zamanda yüksek düzeyde talep yöneltme ve özelleştirme için de seçenekler sunar. İsteğe bağlı olarak, farklı ara katmanlarını kullanarak HTTP isteklerini ayrıntılı bir şekilde özelleştirebilirsiniz. Express.js, diğer JavaScript kütüphaneleriyle birlikte kullanılabilecek şekilde tasarlanmıştır, bu nedenle birçok ek özellik mevcuttur.


Get ve Post İstekleri

Express.js, Node.js tabanlı minimalist bir web uygulama framework'üdür. İstemci tarafından gelen isteklerin yönetilmesi, veritabanı işlemleri gibi web uygulaması geliştirme işlemlerini kolaylaştırır.

Get ve Post istekleri web uygulamalarında oldukça önemlidir. Get isteği ile istemciden gelen veriler okunabilirken, Post isteği ile veriler değiştirilebilir. Express.js ile Get istekleri, server tarafında route yapısı kullanılarak yönetilir. Bu yapıda, route'lar belirli bir URL'ye atanır ve o URL ile ilgili işlemler gerçekleştirilir. Örneğin, "/users" URL'ine atanmış bir route'ta bütün kullanıcılar listelenebilir.

Post istekleri için de route yapısı kullanılır. Ancak Post istekleri ile verilen veriler form formatında gönderilir ve express'in çeşitli paketleri ile veriler okunup manipüle edilebilir. Örneğin, bir kullanıcının hesap bilgilerini güncellemek için "/users/:id" URL'ine atanmış bir Post route'u kullanılabilir. Burada, ":id" parametresi ile kullanıcının ID'si belirtilir ve bu ID'ye göre işlem yapılır.


Get İstekleri

Express.js, web uygulamalarının istek yönetimi ve yönlendirme işlemlerinde oldukça etkili bir araçtır. Get istekleri, URL üzerinden yapılan isteklerdir ve Express.js ile bu isteklerin yönetimi oldukça kolaylaşmaktadır.

Route yapısı, Get istekleri için oldukça önemlidir. Bu yapının kullanımı ile belirli bir URL'e yapılan isteklerin yönlendirilmesi mümkündür. Örneğin, homepage için yapılan '/' isteği bir route yapısı ile yönlendirilebilir. Kullanıcıların belirli parametrelerle birlikte yaptıkları istekler de route yapısı ile yönlendirilebilir.

Express.js'de Get isteklerinin yönetimi örneği aşağıdaki gibi olabilir:

HTTP Method URL Function
GET /home function(req, res){
res.send('Ana sayfaya hoş geldiniz!');
}
GET /about function(req, res){
res.send('Hakkımızda sayfasına hoş geldiniz!');
}

Yukarıdaki örneklerde, '/' ile yapılan Get isteği '/home' için, '/about' ile yapılan istek ise 'Hakkımızda' sayfası için yönlendirilmiştir. Bu şekilde kullanıcılara daha anlaşılır bir url yapısı sunulmuştur.

Ayrıca Express.js ile Get istekleri için kullanıcının belirlediği parametreleri de alabiliriz. Örneğin bir ürün sayfası açmak için URL'de belirli bir ID numarası kullanılabilir. Bu durumda Express.js ile bu ID numarası route yapısı ile alınarak ürün sayfasına yönlendirme yapılabilmektedir.

Get isteklerinde birden fazla parametre alabiliriz ve bu parametrelerin birleştirilerek kullanılması da mümkündür. Url yapısı '/product/:id/:name' şeklinde belirlenerek hem ID numarası hem de ürün adı parametre olarak alınabilir. Bu şekilde daha karmaşık yapıdaki Get istekleri bile kolaylıkla yönlendirilebilir.


Parametrelerin Kullanımı

Express.js, HTTP isteklerinde kullanılan parametrelerin yönetimini de sağlamaktadır. Parametreler, URL'in sonunda yer alan query string parametreleridir.

Örneğin, "/user?id=123" adresindeki "id" parametresi query string'de yer almaktadır. Bu parametre Express.js ile kolayca alınabilmekte ve manipüle edilebilmektedir.

Express.js'de parametre değerleri çoğunlukla "req.params" nesnesi ile alınır. Bu nesne, parametre bilgilerini bir obje olarak saklar ve "/:parametre" yapıları ile tanımlanabilir.

Endpoint Açıklama
/user/:id id değerini alarak kullanıcı bilgilerini çeker
/product/:id/reviews id değerini alarak ürün yorumlarını çeker
  • Aşağıdaki örnekte, Express.js kullanarak "/user" endpoint'indeki "id" parametresini alıp manipüle ediyoruz:
app.get('/user/:id', function(req, res) {  var userId = req.params.id;  // bu noktada userId değişkeni ile yapılacak işlemler gerçekleştirilebilir});

Bu şekilde, HTTP isteği gönderen kullanıcının parametrelerini kolayca alabilir ve işleyebilirsiniz.


View ve Template Engine Kullanımı

Express.js, birçok web uygulamasının geliştirilmesinde kullanılan bir web uygulama çerçevesidir. Get ve Post isteklerinin yönetimi, yazılım ortamı oluşturma, middleware kullanımı ve routing yönetimi gibi birçok özelliği ile geliştiricilere kolaylık sağlar.

Express.js, Get isteklerinin yönetimi sırasında view ve template engine kullanarak istemciye cevap verme özelliği sunar. View engine, HTML sayfalarının özelleştirilmesini ve istemciye sunulmasını kolaylaştırırken, template engine ise yeniden kullanılabilir kod blokları oluşturarak uygulamanın performansını arttırır.

Bu özelliklerin uygulanabilmesi için Express.js'in "views" klasöründe HTML sayfaları oluşturulması gerekir. Bu sayfaların özelleştirilebilmesi için template engine kullanılabilir. Örneğin; EJS template engine, dinamik HTML sayfaları oluşturmayı sağlar.

İstemci bir Get isteği gönderdiğinde, server ilgili HTML sayfasındaki verileri template engine kullanarak özelleştirir ve istemciye sunar. Bu sayede, istemciler farklı verilerde farklı HTML sayfaları görürler.

Özetle, View ve Template Engine kullanımı Express.js'de web uygulamalarının geliştirilmesinde önemli bir rol oynar. Bu özellikleri kullanarak, farklı istekleri yönetmek ve istemcilere dinamik sayfalar sunmak mümkündür.


Post İstekleri

Post istekleri, sunucudan istemciye özel bilgi göndermek için kullanılır. Bu bilgiler, kullanıcının bir formu doldurmasından, hesap açmasından veya başka bir işlem yapmasından kaynaklanır. Post istekleri kullanmanın en kolay yolu, Express.js'in route yapısını kullanmaktır.

Route yapısı aynı zamanda post isteklerinin işlenmesini de yönetir. Aşağıdaki örnek, bir formdan gelen post verilerini işleyen basit bir route yapısıdır:

HTTP Metodu URL Yolu Açıklama
POST /signup Kullanıcının kaydolmasını sağlar

Bu route yapısı, "/signup" URL yolu ile post istekleri aldığında çalışır. Bu istekler, kullanıcının adını, soyadını ve e-posta adresini içeren bir formdan gelir. Bu form verileri, server tarafından alınır ve kullanıcının veritabanına kaydedilir. İşte, post istekleri ile ilgili basit bir örnek.


Form Verilerinin Kullanımı

Form verilerinin kullanımı sayesinde kullanıcıdan gelen verileri alabilir, bu veriler üzerinde manipülasyon yapabilir ve sonuç olarak kullanıcıya istenen yanıtı verebilirsiniz. Express.js ile birlikte form verilerinin nasıl kullanılabileceğine bakalım.

Form verileri, genellikle kullanıcı tarafından girilen metin, sayı veya seçim yapma işlemi sonucunda elde edilen verilerdir. Bu veriler, HTTP POST isteği ile sunucuya gönderilir ve sunucu da bu isteği alarak işleme başlar.

Form verilerini almak için, Express.js öncelikle `body-parser` gibi bir middleware kullanmalıdır. Bu middleware, aldığı POST isteğindeki form verilerini kolayca okuyabilmek ve manipüle edebilmek için gerekli bir yapıdır.

Aldığımız form verilerinden örnek olarak, bir kullanıcının ad, soyad, e-posta ve mesaj gibi bilgileri girerek bir form gönderdiğini varsayalım. Bu form verilerini express.js aracılığıyla almak ve manipüle etmek istediğimizde, POST isteği sonrasında req.body nesnesinin içindeki ilgili alanlara erişebiliriz.

Örneğin, kullanıcının adını `name` alanından gönderdiğini varsayalım. Aldığımız POST isteği sonrasında bu veriyi şu şekilde alabiliriz:

```javascriptapp.post('/form', function(req, res){ var kullaniciAdi = req.body.name; console.log(kullaniciAdi);});```

Form verilerini aldıktan sonra bu veriler üzerinde manipülasyon yaparak farklı işlemler gerçekleştirebiliriz. Örneğin, bir veritabanına kaydetmek, API'ye göndermek veya yanıt olarak kullanıcının ekranında göstermek gibi işlemler yapabiliriz.

Form verilerine yanıt vermek için de aynı yöntemi kullanabiliriz. İlgili route üzerinde aldığımız form verilerini manipüle ederek, sonucunu kullanıcının ekranına gösterebiliriz.

Form verilerinin kullanımı oldukça geniştir ve çeşitli senaryolarda kullanılabilir. Bu sayede, kullanıcıların verileri sunucuya göndererek daha etkileşimli bir web deneyimi sağlayabiliriz.


Ajax İle Post İstekleri

Ajax ile Post istekleri, get isteklerinden farklı bir şekilde yürütülür. Bu yöntem, sayfa yenilemeden veri alma ve gönderme işlemlerini yapmayı sağlar. Bu işlem, genellikle kullanıcıların girdiği verileri işlemek ve anlık olarak sonuçlar göstermek için kullanılır.

Bu işlemi gerçekleştirmek için, öncelikle bunu uygun bir şekilde özelleştirmek gereklidir. Örneğin, jQuery kullanarak Ajax istekleri oluşturmak, bunu özelleştirmek için uygun bir yöntem olabilir. Bu nedenle, jQuery Ajax istekleri için parametreler belirleyebilirsiniz.

Kullanıcı, form bilgilerini doldurduğunda, Ajax istekleri otomatik olarak yapılandırılır ve gönderilir. İstek yapılandırıldıktan sonra, sunucu tarafından işlenmek üzere gönderilir. Bu işlem sırasında, kullanıcı arayüzünde hiçbir sayfa yenileme olmaz ve veriler anlık olarak sunucudan alınır.

Bu nedenle, Ajax istekleri hızlı ve verimli bir şekilde çalışır. Ancak, bu işlem özelleştirilirken, dikkatli olunması ve uygun bir şekilde yapılandırılması gereklidir. Aksi takdirde, sıkıntılarla karşılaşabilirsiniz.

Sonuç olarak, Ajax ile Post istekleri, kullanıcıların web sayfası üzerinde veri girişi yaptıklarında anlık sonuçlar görmelerini ve sayfa yenilemesi olmadan veri işlemlerini gerçekleştirebilmelerini sağlar. Bu nedenle, bu teknolojinin kullanımı oldukça yaygındır.


Middlewares Kullanımı

Middlewares Kullanımı

Express.js, yazılım ortamlarını oluşturmak için kullanılabilir. Yani istekler, middleware'ler yardımıyla yönetilebilir. Bu işlemin amacı, bir uygulama boyunca bir işlem veya işlem zincirinin her adımında işlerin yönetilmesidir. Bu şekilde, ortamın her adımında farklı işlemler yapılabilir ve daha esnek bir sisteme sahip olunabilir.

Post işlemleri, middleware kullanımı sayesinde yönetilebilir. Post istekleri, Express.js'in route yapısı kullanılarak yönlendirilebilir. İşlemler uygulama ortamında birbirlerinden bağımsız olabilir. Böylece, her bir ortamda farklı işlemler yapılabilir ve uygulama daha esnek hale getirilir.

Middleware'ler, uygulamanın sunduğu özelliklerin bir parçasıdır. Middleware, request-response döngüsünde işlemler yapmak için kullanılan bir fonksiyondur. Middleware, next() fonksiyonu çağrıldığında bir sonraki middleware adımına geçilir. Bu sayede, işlemler birbirine bağlanabilir ve basittir. Örneğin, bir middleware'un body-parser, cookie-parser ya da session fonksiyonları kullanarak uygulama ortamını yönetebilir.

Express.js'in hata yönetimleri de middleware'ler sayesinde yönetilir. Örneğin, bir hata müdahalesi durumunda, hata belirtilen middleware'i atlayarak bir sonraki middleware adımına geçebilir. Böylece, hata ortamı etkilemeden uygulamanın müdahalesi sağlanmış olur.


Yazılım Ortamı Oluşturma

Express.js, web uygulaması geliştirirken yazılım ortamı oluşturma ve uygulama işlemlerini gerçekleştirme konusunda oldukça kolay bir seçenektir. Yazılım ortamı kavramı, uygulama sınıfının bir özelliği olarak tarif edilebilir. Farklı kategorilerdeki uygulamalar arasında ayırt edici özellikler taşır. Yazılım ortamı, yürütülmesi gereken işlemleri belirler ve uygulamanın ihtiyaçlarına göre ayarlanabilir.

Express.js, yazılım ortamı oluşturma konusunda çok başarılıdır. Özellikle middleware kullanımının bu konuya ayrı bir fayda getirdiği görülmektedir. Genellikle, middleware, uygulama düzeyinde kullanılan yazılımlardır. Express.js kullanıcısı, middleware'leri kullanarak uygulama işlemlerine farklı bir katman eklenebilir. Bu sayede, uygulama hata yönetimi, oturum yönetimi, kimlik doğrulama ve daha birçok işlevselliği yerine getirme şansı elde eder.

  • Bir yazılım ortamının oluşturulabilmesi için; app.use() fonksiyonunun kullanılması gerekir.
  • Middleware'ler, sıralı bir şekilde tanımlanır ve uygulamanın ihtiyaçlarına göre aktif hale getirilebilir.
Örnek: app.use(express.json()) // JSON desteği app.use(express.urlencoded({ extended: true })) // URL kodlaması app.use(express.static('public')) // Statik dosya işlemleri

Middleware'lerin Kullanımı

Middleware'ler, Express.js'de oldukça önemli bir yer tutar. Middleware'ler, işlemi yönlendirir ve uygulamanın beklediği yanıtı verir. Middleware'lerin kullanımı sayesinde hem yazılım ortamı oluşturulur hem de Post işlemleri yönetilebilir.

Middleware'ler, tanımlardan geçen işlemi yapar. Middleware'in kullanımı, Middleware'e bağlı olacak isteklerin rotalama yapısını ayarlar. Middleware'ler, herhangi bir işlem yapabilir. Örnek olarak; header güncellemesi, CORS gibi güvenlik önlemleri, JSON verisi analizi, dosya paylaşımı veya herhangi bir express.js middleware kullanımı gerçekleştirilebilir.

Aşağıdaki örnek, Middleware kullanımını açıklamaktadır:

```jsconst express = require('express');const app = express();const port = 3000;

const middlewareExample = function (req, res, next) { console.log('Middleware çalıştı'); next();};

app.use(middlewareExample);

app.get('/', (req, res) => { res.send('Ana Sayfa');});

app.listen(port, () => { console.log(`Uygulama ${port} portunda çalışıyor`);});```

MiddlewareExample, get işleminden önce çalıştırıldı. Bu uygulama, istemcinin URL adresi için bir talep oluşturduğunda, MiddlewareExample'in çalıştığını onaylayacaktır. Ancak, işlem bir hata dönüşürse, Middleware, get işlemini devam ettirmeden önce hatayı yakalar ve bir yanıt verir.

Middleware'lerin birden fazla kullanımı vardır. Örneğin Error Handling Middleware veya başka bir middleware kullanılabilir. Middleware kullanımı express.js için oldukça önemlidir.


Error Handling Middleware

Express.js, hata yönetimi için middleware kullanımını destekler. Middleware işlevi, gelen istekleri işlemek ve cevaplamak için kullanılır. Ancak, bazı durumlarda hata meydana gelebilir. Bu nedenle, Express.js'de hata yönetimi middleware'i kullanılarak hatalar yönetilebilir.

Hata yönetimi middleware'i, herhangi bir hatayı yakalamak ve uygun iletinin istemciye gönderilmesini sağlamak için kullanılır. Bu tür bir middleware, genellikle try-catch bloklarını kullanır. Middleware'in en önemli özelliği, hatanın gerçekleştiği anda yakalanması ve hemen cevap verilmesidir. Bu sayede kullanıcıya gereksiz bekletmeler yaşatılmadan, hata kodu ve açıklaması sunulur.

Örneğin, aşağıdaki middleware, kullanıcıların bulunamayan sayfalarla karşılaştığında gösterilecek bir sayfa sunmak için kullanılabilir:

Kod Açıklama
app.use(function(req, res, next) { // Bulunamayan sayfa hatası
res.status(404).send('Üzgünüm, istediğiniz sayfa bulunamadı.'); // 404 hata kodu ve mesajı
}); // Middleware sonu

Bu örnek middleware, bulunamayan sayfalarla karşılaşıldığında 404 hata kodu ve uygun bir mesaj gönderir. Bu, kullanıcının yönlendirildiği sayfanın seçimine bağlı olarak özelleştirilebilir. Hata yönetimi middleware Kurulumu oldukça kolaydır ve tüm Express.js uygulamalarında kullanılabilir.


Routing Yönetimi

Routing, Express.js uygulamalarında isteklere göre uygun yönlendirmelerin yapıldığı önemli bir konudur. URL yapısıyla ilgili olan routing, isteklerin hangi endpoint'e yönlendirileceğini ve neleri içereceğini belirler. Bu sayede, kullanıcılar isteklerini doğru endpoint'e yönlendirerek beklenen sonuçları alabilirler.

Express.js'te routing yönetimi, app.get(), app.post(), app.delete() vb. yöntemlerle yapılabilir. Bu yöntemler, ilgili HTTP isteğine göre uygun endpoint'i belirler ve bu endpoint'e yönlendirir. Örneğin, app.get('/users') ifadesi, /users endpoint'ine yapılan GET isteğini karşılar.

Route yönetimi, belirli bir URL yapısı altındaki endpoint'lerin yönetilmesini sağlar. Bu sayede istekler, farklı endpoint'lere yönlendirilerek ihtiyaç duyulan sonuçlar elde edilebilir. Örneğin, bir Express.js uygulamasında, /users endpoint'i, kullanıcı verilerinin alınması veya gösterilmesi için kullanılabilir.

Express.js'te route yönetimi, app.route() metoduyla yapılabilir. Bu metod, tek bir URL altında birden fazla HTTP işlemi yönetmek için kullanılır. Örneğin, app.route('/users') ifadesi, /users endpoint'i için birden fazla HTTP yöntemi kullanımını sağlar.

HTTP status kodları, uygulamanın başarılı veya başarısız işlemlerini tanımlar. Bu kodlar, istemcilere hangi tür yanıtların gönderildiğini belirtir. Express.js uygulamalarında, çok çeşitli HTTP status kodları kullanılabilir. Örneğin, 200 kodu, başarılı bir Get isteğini gösterirken, 404 kodu, belirtilen endpoint'in bulunamadığını gösterir.

HTTP status kodları, son kullanıcıların isteklerinden kaynaklanan hataları tanımlamak ve mümkün olduğunca açık bir şekilde açıklamak için kullanılmalıdır. Bu, kullanıcılara hem hata kodunun sebebini anlatırken hem de onlara hangi aksiyonu almaları gerektiğini gösterir.

Regex, Express.js uygulamalarında özel URL yapılarına yönlendirmelerin yapılmasını sağlar. Bu sayede, daha karmaşık veya dinamik URL yapılarını yönetmek mümkündür. Regex ifadeleri, URL'lerdeki belirli desenleri tanımlamak için kullanılır. Örneğin, app.get(/\/users/:id([0-9]+)) ifadesi, /users endpoint'i altında sadece belirlenen ID numaralarının kabul edileceğini belirtir.

Regex ifadeleri, belirli bir URL yapısına sahip olan ancak değişkenlik gösteren endpoint'leri yönetmek için de kullanılabilir. Örneğin, bir blog sitesindeki farklı kategoriler için ayrı endpoint'ler oluşturmak yerine, tüm kategorilerin aynı endpoint'e yönlendirilmesi mümkündür. Bu, app.get(/\/blog\/(.+)/) gibi bir Regex ifadesi ile yapılabilir.


Route Yönetimi

Route yönetimi, Express.js'ın en önemli özelliklerinden biridir. Bu özellik sayesinde hangi URL ile hangi fonksiyonun çalışacağı belirlenir. Öncelikle, route yapısına bakalım. Yapısı kullanıcı talebinin yönlendirilmesi sağlar.

Bu yapıda, app.get (), app.post (), app.put (), app.delete () gibi yöntemler kullanılır. Bu yöntemlerin her biri, karşılanacak HTTP yönteminin türünü belirtir. Örneğin, app.post () POST istekleri için kullanılırken, app.get () GET istekleri için kullanılır.

Yapılandırılmış bir örnek yapalım. Örneğin, sadece belirli bir URL'ye sahip istekler belirli bir yönteme yönlendirilsin. '/login' URL'sine bir GET isteği geldiğinde cevap olarak 'Login page' ifadesi gönderilecektir. Bu kodlar şöyle görünecektir:

```app.get('/login', function(req, res){ res.send('Login page');});```

Bu yukarıdaki kod bloğu, '/login' URL'sine yapılan bir GET isteği, fonksiyonun içindeki 'res.send()' metodunu çağırarak, 'Login page' ifadesini istemciye gönderir.

Ayrıca, bir URL şablonundaki belirli parametrelerin alınması da mümkündür. "/user/:id" gibi bir URL şablonunda ':id', bir parametredir. Bu parametreye, request nesnesinden '.params' fonksiyonu kullanılarak erişilebilir.

```app.get('/user/:id', function(req, res){ res.send('User ID: ' + req.params.id);});```

Şimdi, URL'den '/user/3' bir istek yapıldığında, bu isteğe yanıt olarak 'User ID: 3' ifadesi istemciye gönderilecektir.

Route yönetiminin bu örnekleri, Express.js'ın işlevselliğinin sadece birkaç örneğidir. ```

    ``` listesi yaparak daha fazla yönetim örnekleri de deneyebilirsiniz.


    HTTP Status Kodları Kullanımı

    HTTP status kodları, web sunucularının bir istekle ilgili işlemin durumunu rapor etmek için kullandığı kodlardır. Express.js'te bu kodlar, isteklerin URL'sine göre yönlendirilirken kullanılabilir. Örneğin, bir kullanıcının yanlış bir URL'ye girmesiyle karşılaştığında, sunucu 404 (Bulunamadı) HTTP kodu verir. Bu, kullanıcıya istediği sayfanın olmadığını belirten basit bir hata mesajı gösterir.

    Bu tür kodlar, Express.js gibi web uygulama çerçevelerinde, URL yönlendirmesi ve kullanıcı oturum yönetimi gibi işlemler için çok önemlidir. Örneğin, bir kullanıcının giriş yapmış olması gereken bir sayfaya gitmesi talebi durumunda, sunucu genellikle 401 (Yetkisiz Erişim) HTTP kodu gönderir.

    Listede yer alan bazı HTTP status kodları ve açıklamaları aşağıdaki gibidir:

    • 200 - Başarılı: Sunucu, isteğin başarıyla işlendiği anlamına gelir.
    • 302 - Yönlendirme: İstek URL'si yönlendirilir. Yeni URL, isteğe yanıt olarak verilir.
    • 401 - Yetkisiz Erişim: Kullanıcının giriş yapması gereken bir sayfaya eriştiğinde sunucu tarafından verilir.
    • 403 - Yasak: Kullanıcının, belirli bir sayfaya erişmesine izin verilmediğinde verilir.
    • 404 - Bulunamadı: Sunucu, istenen URL'yi bulamadığında verilir.

    Express.js'te, bir HTTP kodu belirtmek için "res.status(kod)" şeklinde bir kod parçası kullanılabilir. Örneğin, bir kullanıcının yasaklandığı bir sayfaya erişmek istediğinde, sunucu 403 HTTP kodunu vererek kullanıcının erişimini engeller.

    Bu şekilde HTTP kodlarının kullanımı, web geliştiricilerinin uygulama davranışlarını daha iyi anlamalarına yardımcı olur ve doğru hata mesajlarının kullanıcıya iletilmesini sağlar. Express.js gibi web uygulama çerçeveleri, bu kodların kullanımını kolaylaştırır ve yüksek performanslı web uygulamaları oluşturmada oldukça önemlidir.


    Regex Kullanımı

    Express.js, web uygulamaları geliştirmek için kullanılan bir Node.js web uygulama çerçevesidir. URL yapılarına göre yönlendirme yapmak için express.Router() kullanılır. Yapılacak olan yönlendirmelerde, genellikle sabit URL yapıları kullanılır, ancak bazı durumlarda özel URL yapılarına ihtiyaç duyulur. Özel URL yapılarını yönetmek için regex kullanarak bir çözüm kullanabilirsiniz.

    Regex, belirli bir kalıp veya desene göre eşleşen karakter dizileri için kullanılan bir düzenli ifade dilidir. Regex'in kullanımı, URL yapılarının yönetimi için oldukça önemlidir. Örneğin, Express.js projesinde "/users/123456" gibi bir URL yapımız olsun ve bu URL yapısının yönlendirmesini yapmak istiyoruz. Proje kök dizinine gelen talepleri yoksayarak, URL yapısı "users" olan tüm taleplerin dinlenmesini sağlayabiliriz.

    Çalışma Yöntemi Kodu
    users/regex app.get('/users/:id(\\d+)', function(req, res){
    res.send('User id: ' + req.params.id);
    })

    Yukarıdaki kod örneği, URL yapısının "users" olduğunu ve kullanıcı kimliği ("id") parametresi için bir regex kuralı belirlediğimizi gösterir. Bu örnekte, ":id" URL parametresine bir regex kuralı atanır. Burada "\\d+" regex kuralı, bir veya daha fazla sayısal karakteri ifade eder. Bu, URL yapısının "users" olduğu herhangi bir talep, ön ekteki '/users/' ile birlikte bir dizi sayısal karakter içeriyorsa, bu yönlendirmenin tetikleneceği anlamına gelir.

    Bu örnekte, regex kullanarak özel URL yapılarını yönetmek, Express.js uygulaması açısından oldukça yararlıdır. Özellikle, dinamik URL yapılarının yönetimi için kullanılabilir. Express.js, regex yapısını kolayca kullanmayı sağlamak için özelleştirilmiş bir "path-to-regexp" modülü içerir. Bu modül, URL yapılarına göre regex oluşturmak için kullanılabilir.