Che cosa determina quando un computer è considerato un "cliente"?

6

Nello sviluppo web i termini "server" e "client" vengono spesso indicati quando si discute su come le pagine sono richieste sul web. Viene anche usato estensivamente quando si parla di PC, telefono, tablet, ecc. La domanda che mi è venuta in mente era qualificare un computer come client?

Ho dato un'occhiata a questo articolo da wikipedia e ho notato che i client sono considerati chi richiede il servizio mentre i server sono considerati fornitori di servizi . Se questo è vero, non tutti i computer che richiedono un servizio in un certo senso possono essere considerati clienti?

Lo stereotipo che ho notato è che un computer client è in genere sinonimo di computer "consumer", ma secondo wikipedia questo non è del tutto accurato. Qualche idea su come tracciare la linea in questo scenario comune?

    
posta Edward 29.08.2011 - 18:57
fonte

11 risposte

28

I client richiedono dati dai server. Questo aiuto?

Inoltre, client e server sono processi (in questo contesto), non computer. Se punti il tuo browser al link e servi una pagina web dal tuo computer, il tuo computer funge sia da client che da server. Il client è il tuo browser web; il server è Apache, NginX (o IIS), che serve la pagina.

    
risposta data 29.08.2011 - 19:10
fonte
7

È vero, i server sono fornitori di servizi. Ma un server ha due significati. Può significare, un computer che esegue un server (software). O un pezzo di software che fornisce contenuti a un cliente.

Quindi sì, un server (macchina) può essere sia un fornitore di contenuti (server) che un consumatore di contenuti (client). Se sto eseguendo il mio sito web su una scatola Ubuntu, quando richiedo informazioni da esso, è il server e io sono il cliente. Più in particolare, se visito un sito ospitato da quella casella, apache è il server e il mio browser è il client.

Un "server" può anche essere un client. Nel caso in cui volessi aggiornare il software su quel box, gli direi di guardare i server ubuntu e richiedere software aggiornato, apt (o aptitude) è il client, e i repository ubuntu sono il server.

    
risposta data 29.08.2011 - 19:10
fonte
5

Adottiamo un approccio grammaticale in questo senso:

Bob asked for a book from John. John gave the requested book to Bob.

o

__ requested __ from __ , and __ responded.

Ora, se provi a riempire gli spazi vuoti, il requester (il primo vuoto) è il client. La richiesta (secondo vuoto) è chiamata risorsa e il richiedente (terzo e quarto spazio) è chiamata server . Ora, considera queste frasi:

Your cell phone requested an image from Google, and Google responded.

Il tuo telefono cellulare è un client, un'immagine è la risorsa e Google è il server.

    
risposta data 29.08.2011 - 20:18
fonte
4

Se una macchina è un client o un server è applicabile a 1 singola richiesta di dati. Se visito una pagina web, la mia macchina è il client e la macchina che ospita il sito è il server. Se poi utilizzo la mia macchina per eseguire un servizio Web e qualcun altro la chiama, la mia macchina è un server e quell'altra macchina è il client.

La distinzione è valida solo per la richiesta data.

    
risposta data 29.08.2011 - 19:12
fonte
4

È meglio pensare a server e client in termini di processi, piuttosto che di hardware. È estremamente raro che l'hardware sia rigorosamente uno o l'altro e pensare in questi termini porta a confusione.

Considera il sistema X windowing: il server X si trova sulla macchina dell'utente finale (inclusi i terminali X muti e senza disco), mentre il client potrebbe essere in esecuzione sul server centrale o sul mainframe.

Quasi tutti i componenti hardware possono fungere da server o client o persino servire entrambi i ruoli contemporaneamente.

    
risposta data 29.08.2011 - 21:28
fonte
2

Un computer non è quasi mai solo un server. La domanda sever / client deve essere richiesta nel contesto di un particolare servizio. Ad esempio, considera la possibilità di caricare una pagina Web sul tuo computer di casa. In questo caso, il computer agisce come un client (richiedendo un servizio) e il computer che serve la pagina agisce come un server (fornendo il servizio http). Tuttavia, il computer che serve la pagina può anche essere un client di database (che richiede un servizio db) se richiede dati da un server di database. E il tuo computer di casa potrebbe anche fungere da fileserver, fornendo file ad altri client sulla tua rete domestica.

    
risposta data 29.08.2011 - 19:11
fonte
1

Le risposte esistenti sono eccellenti, ma mi piacerebbe fare un'analogia in termini non informatici.

Qualcuno che lavora come server (cameriere / cameriera) in un ristorante agisce da server. Quando quella persona scende dal lavoro può tornare in quel ristorante (o in un altro) ed essere un cliente (cliente).

Allo stesso modo in cui la stessa persona può essere sia server che client, quindi anche un computer.

Un computer può essere principalmente un server, cioè svolge la funzione di servire più di quella del consumo e può essere chiamato una macchina server. Spesso possono essere costruite tenendo a mente quel ruolo (maggiore sicurezza e resistenza al fallimento, dimensioni e forma che si adattano facilmente su un server rack, ecc.) Ma non c'è nulla di intrinseco in un computer specifico che lo rende inadatto ad essere un server o cliente o entrambi. (Eccezione quando uno è privo di software appropriato e la possibilità di installare tale software)

    
risposta data 29.08.2011 - 20:28
fonte
1

Un computer non può essere determinato come server o client. Se il computer ospita un'applicazione server, è possibile chiamarlo server. Ma alcune delle applicazioni del computer forse alwasys funge da client (richiesta di pagine).

Non è il computer. Ma sono le applicazioni che contraddistinguono client e server.

    
risposta data 30.08.2011 - 12:05
fonte
1
risposta data 31.08.2011 - 00:00
fonte
0

Il client è generalmente considerato il dispositivo che è nelle mani dell'utente finale. Che si tratti di un computer, uno smartphone, un chiosco, un tablet, ecc. Questo è il client.

Per quanto riguarda le altre macchine che richiedono informazioni tra il client e i server, fare riferimento a questi come livello (i) dell'applicazione. Questo potrebbe essere l'architettura a 2,3 o n livelli. Non mi riferirei a questi come clienti.

Ulteriori informazioni possono essere trovate qui:

link

    
risposta data 29.08.2011 - 19:17
fonte
0

Un server fornisce un insieme specifico di servizi e i client usano quel servizio.

La risposta semplicistica è che il client inizializza la connessione o invia il primo pacchetto UDP, il server accetta la connessione. Questo perché il server è felice di funzionare anche se non ha nulla da fare, in attesa che il client gli dica cosa fare. Il client ha bisogno di un server per farlo fare cose per questo. Un server serve spesso molti clienti e spesso fa qualcosa di specializzato. Il client di solito è un aggregato di servizi e delega ai server.

Quello che spesso confonde è X-Windows: il server è il desktop e il client è un'applicazione su una macchina remota. Questo perché il server è quello che visualizza l'applicazione e interagisce con l'utente su uno o più nomi di applicazioni. L'applicazione client effettua richieste al server per disegnare questo o quello e ottiene feedback o risultati dal server.

    
risposta data 30.08.2011 - 08:29
fonte

Leggi altre domande sui tag