• 7 odgovora
  • 3.964 pregleda
Client - Server komunikacija 10.05.2009. u 00:20 · pre 212 meseci #1
Pozdrav,

Potrebno mi je samo objasnjenje necega, ako tema nije na pravom mestu premestite je gde joj je mesto.

Kada se osniva komunikacija izmedju obicnog web browsera i servera,

1. Browser resolvuje URL u IP pomocu dns-a
2. Salje zahtev za stranicu serveru na portu 80 (default port).

E sada, ako client trazi jos nesto, da li se stalno koristi port 80 ili server otvara novi port za tog klienta?

Da li server koristi port kada salje podatke klientu?




Re: Client - Server komunikacija 10.05.2009. u 07:20 · pre 212 meseci #2
Da, stalno se koristi port 80 na serveru.
A server otvara random portove za odgovor klijentu koji su u opsegu 1024-65535.
Potpis
Beneath civilization's fragile crust, cold chaos churns...
Re: Client - Server komunikacija 10.05.2009. u 07:24 · pre 212 meseci #3
Ne, server ne otvara novi port. Na klijentu se može otvoriti novi port i onda se kreira nova TCP konekcija, ali server i dalje koristi 80. I za slanje isto: klijent može otvarati različite portove, ali veb-server ostaje na 80. Ono što se može izmeniti je tzv. soket.
Sa wikipedije:
Citat:
A server may create several concurrently established TCP sockets with the same local port number and local IP address, each mapped to its own server-child process, serving its own client process. They are treated as different sockets by the operating system, since the remote socket address (the client IP address and/or port number) are different, i.e. since they have different socket pair tuples.
Re: Client - Server komunikacija 10.05.2009. u 11:31 · pre 212 meseci #4
Uhh al' ste zakomplikovali:

Server slusa na portu 80. Klijent otvara socket, sa svog lokalnog IP-a, sa nekog porta koji klijentski port sme da koristi (a koji je, zbog OS ogranicenja >1024) i otvara konekciju / TCP socket. Socket ima parametre (KlijentIP,NekiPort>1024NaKlijentu,ServerIP,Port80). Kroz taj socket klijent salje zahteve (GET, ili sta vec...), a server odgovara. Klijent moze da otvori vise od jedne konekcije, sto se tice HTTP-a tu nema nikakvih problema, svaka je nezavisna, a razlikuju se po NekiPort>1024NaKlijentu parametru.

Na serveru je, naravno, moguce promeniti ovaj port na bilo sta drugo, ali onda klijent nece znati da ga nadje, osim ako mu to neko ne javi na neki drugi nacin :) - pa on otvori konekciju sa http://neki.domen.tld:nekidrugiport/neki.url . Izuzetak je SSL, gde https:// implicira port 443.

Sam httpd server nikada ne inicira konekcije ka klijentu.

P.S. Socket JE TCP konekcija, izmedju dve masine :).
Potpis
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
Re: Client - Server komunikacija 10.05.2009. u 12:41 · pre 212 meseci #5
Sorry za delimican off

Citat:

P.S. Socket JE TCP konekcija, izmedju dve masine :).


Socket moze koristiti UDP ! Govorim uopsteno...
Re: Client - Server komunikacija 10.05.2009. u 13:09 · pre 212 meseci #6
Citat:
Mister_rap: Socket moze koristiti UDP ! Govorim uopsteno...

Moze, ali UDP socket nije konekcija :D. Mislim, "UDP konekcija" je oksimoron - UDP salje jedan paket, kao svet za sebe...

Ajde da ne zbunjujemo ovde vise, vec su dovoljno zbunjeni.
Potpis
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
Re: Client - Server komunikacija 10.05.2009. u 15:14 · pre 212 meseci #7
Sad vidim da sam pogresno izrazio. Nisam htio da kazem kako server otvara kod sebe neki "visoki" port nego vraca klijentu odgovor na neki >1024 port.
:-/
Potpis
Beneath civilization's fragile crust, cold chaos churns...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme