İstemci - Sunucu İlişkisi Nasıl Kurulur?

01yildizmustafa

Centipat
Katılım
4 Eylül 2022
Mesajlar
63
Çözümler
2
Daha fazla  
Cinsiyet
Erkek

istemci taraf​


JavaScript:
function add_data(){
 var b = {
 _first_name:document.getElementById("first_name").value,
 _last_name:document.getElementById("last_name").value
 };
 fetch("http://localhost:8080/person",{
 method: 'POST',
 body: JSON.stringify(b),
 headers: {
 'Content-Type':'application/json; charset=UTF-8',
 }
 })
 .then(response=>response.json())
 }

sunucu taraf​


JavaScript:
app.post('/', function (req, res) {
 res.sendFile( __dirname + "/main.html" );
})

Bu iki taraf arasında bir türlü ilişki kuramadım.
Web'i anlayamadım.
Web'de neyi anlayamadığımı da anlayamadım...

bana istemci tarafla sunucu taraf arasında ilişki kurarak örnek kodlarla Web'i açıklar mısınız?
 
Son düzenleme:
Backend:
JavaScript:
const express = require('express')
const app = express()
const port = 8080

app.get('/', (req, res) => {
    res.json({
        message: "Merhaba"
    })
})

app.listen(port, () => {
  console.log(`Port: ${port}`)
})

Frontend:
JavaScript:
fetch("http://localhost:8080").then(res => JSON.parse(res)).then(data => console.log(data);

iki tarafta çalışır vaziyette olduğunda fetch ile GET, POST, UPDATE, DELETE requestleri atabilirsiniz. Main.html yerine JSON veri göndermeyi deneyebilirsiniz. cors ve body-parser middlewarelerini inceleyin. npm run dev, node index.js gibi komutlarla çalıştırın ikisinide. Bir kurs izlemenizi öneririm.

 
@01yildizmustafa Anladığım kadarıyla siz bağlantı onaylama durumu nasıl oluşuyor onu anlamak istiyordunuz. Ben kavrayamadım fakat bir etkileşim vardı.
Websocket content'ini alıyordum. 4-5 gün önce yapmıştım bir şey simdi bakayım. PHP di.
 
Backend:
JavaScript:
const express = require('express')
const app = express()
const port = 8080.

app.get('/', (req, res) => {
 res.json({
 message: "Merhaba"
 })
})

app.listen(port, () => {
 console.log(`Port: ${port}`)
})

Frontend:
JavaScript:
fetch("http://localhost:8080").then(res => JSON.parse(res)).then(data => console.log(data);

İki tarafta çalışır vaziyette olduğunda fetch ile get, post, Update, delete requestleri atabilirsiniz. Main.html yerine JSON veri göndermeyi deneyebilirsiniz. Cors ve body-parser middlewarelerini inceleyin. NPM run dev, Node index.js gibi komutlarla çalıştırın ikisini de. Bir kurs izlemenizi öneririm.


@Kxaan

Aslında sunucuyu ayağa kaldırdım. Yani çalışıyor.
Body-parser ==>inputlardaki verilere sunucu tarafında bununla ulaşabiliyorum.
Ayrıca URL'ye JSON adını girdiğimde JSON'ı görebiliyorum.
NPM, Node.index.js, nodemon, package. JSON, bağımlılıklar... vs. bunlardan haberdarım ve bunlarla işimi görebiliyorum.
Sonuç olarak "mevcut durumum bu."
Takıldığım nokta şu:
İstemci ile sunucu arasında illa bir JSON mı olması gerek?
Yani istemci ve sunucu ancak JSON üzerinde mi haberleşir? İşler böyle mi yürüyor?

Günün sonunda yapmak istediğim CRUD.

Belki, yukarıdaki sorularım alakasız.
Belki, web geliştirmede yanlış yere gelmiş olabilirim. İşlerin nasıl yürüdüğünü bilmiyorum.

Express middleware
İnceleyeceğim.
 
Son düzenleme:
@Kxaan

Aslında sunucuyu ayağa kaldırdım. Yani çalışıyor.
Body-parser ==>inputlardaki verilere sunucu tarafında bununla ulaşabiliyorum.
Ayrıca URL'ye JSON adını girdiğimde JSON'ı görebiliyorum.
NPM, Node.index.js, nodemon, package. JSON, bağımlılıklar... vs. bunlardan haberdarım ve bunlarla işimi görebiliyorum.
Sonuç olarak "mevcut durumum bu."
Takıldığım nokta şu:
İstemci ile sunucu arasında illa bir JSON mı olması gerek?
Yani istemci ve sunucu ancak JSON üzerinde mi haberleşir? İşler böyle mi yürüyor?

Günün sonunda yapmak istediğim CRUD.

Belki, yukarıdaki sorularım alakasız.
Belki, web geliştirmede yanlış yere gelmiş olabilirim. İşlerin nasıl yürüdüğünü bilmiyorum.

Express middleware
İnceleyeceğim.
Evet JSON ile haberleşirler.
 
@Kxaan

Aslında sunucuyu ayağa kaldırdım. Yani çalışıyor.
Body-parser ==>inputlardaki verilere sunucu tarafında bununla ulaşabiliyorum.
Ayrıca URL'ye JSON adını girdiğimde JSON'ı görebiliyorum.
NPM, Node.index.js, nodemon, package. JSON, bağımlılıklar... vs. bunlardan haberdarım ve bunlarla işimi görebiliyorum.
Sonuç olarak "mevcut durumum bu."
Takıldığım nokta şu:
İstemci ile sunucu arasında illa bir JSON mı olması gerek?
Yani istemci ve sunucu ancak JSON üzerinde mi haberleşir? İşler böyle mi yürüyor?

Günün sonunda yapmak istediğim CRUD.

Belki, yukarıdaki sorularım alakasız.
Belki, web geliştirmede yanlış yere gelmiş olabilirim. İşlerin nasıl yürüdüğünü bilmiyorum.

Express middleware
İnceleyeceğim.

En yaygın yöntem JSON. Ancak XML, Protocol Buffers vs. gibi türler de olabilir. Resim, video vs olduğu gibi. Frontend-backend genelde kendi arasında JSON ile haberleşiyor, 3rd party sistemler de genelde (SDK, REST API vs.) JSON ile haberleşiyorlar.

Nasıl çalışıyor?

Kod:
Client -------[JSON content] -----> Server
                                      |
                                İşlem yapılır
                                      |
Client <------[JSON content] ---------+


Günümüzde mikro-servis dediğimiz bir mimari var, bu mimaride en yaygın iletişim türü Protocol Buffers (gRPC için) yani her zaman JSON olmak zorunda da değil.

Haberleşmeyi en basitinden bir dosya, bir mektup vs. olarak düşünebilirsiniz. A noktasından B noktasına giden mesajı iki tarafta anlayabilir olmalı sadece.
 

Geri
Yukarı