Megjegyzi programmistera http java


Megjegyzi programmistera http java
Modern keretek meglehetősen jól kivett alacsony szintű részleteit saját megvalósítás. Egyrészt ez jó - egyszerűsíti az életünket, de a másik viszont nem ad nekünk egy másik ok, hogy megtanulják az alapvető dolgokat. Ez igaz számos kérdések és területek az információs technológia, de ebben a sorozatban, mi fog összpontosítani a protokoll http (gyakran mögé JSP, JSF, stb), és hogyan kell használni a Java.







Http - közötti együttműködési jegyzőkönyv a két program, a kliens és a szerver, amely lehet futtatni egy teljesen más, és nagyon távol egymástól a gépeket. Client nevű használó alkalmazás valamilyen szolgáltatást nyújt egy másik alkalmazás - szerverek, általában egy távoli számítógépen. Szinte mindig az ügyfél elkezd kimenő kapcsolatok, és a szerver figyeli a bejövő kapcsolatokat (az ügyfél), bár vannak kivételek.

Az első dolog, hogy megértsük - miként az a kliens-szerver kölcsönhatás. Hogyan találják meg egymást, és hogyan kommunikálnak. Ehhez emlékezzünk a junior egyetemi kurzusok és frissíteni tudásukat a hálózati protokollokat. Ha az OSI és a TCP / IP rövidítések nem vezetnek be, hogy álló helyzetben biztonságosan lépjünk tovább. Azok számára, akik megpróbál nem rendetlenséget fel a fejét részek helyesen támaszkodva a rendelkezésre állás az interneten, emlékeztetem:

Az OSI modell által javasolt Nemzetközi Szervezet az ISO (Nemzetközi Szabványügyi Szervezet) 1984-ben. Minden hálózati funkciók a modellben vannak osztva 7 szint:

Megoszlása ​​az OSI modell protokollok


Ebben az esetben a magasabb szintű elvégzésére bonyolultabb, globális probléma, amely kihasználva az alacsonyabb szinteken. valamint kezelni őket. A cél az alsó szinten - amely egy kiváló szintű szolgáltatást. és a kiváló szinten nem fontos a végrehajtás részletei ezeket a szolgáltatásokat. Alsó szinten egy egyszerű és speciális funkciók. Ideális esetben, minden réteg csak kommunikál azokkal, amelyek vele szomszédos (a felette és alatta). A felső szint megfelel alkalmazása feladat aktuálisan futó alkalmazás, az alacsonyabb - a közvetlen jelek továbbítására egy kommunikációs csatornán keresztül.







A mai napig a fő protokoll stack TCP / IP. Ez a protokoll stack megjelent OSI és népszerűségre tett szert.

Distribution protokollok szintje TCP / IP modell

alkalmazott
"Level 7"

pl. TCP. UDP. SCTP. DCCP
(Routing protokollok, mint az OSPF. Futó tetején IP. Része a hálózati réteg)

A TCP / IP az IP (IP)
(. Támogatás protokollok, mint ICMP és IGMP futtatását az IP, hanem tartozik a hálózati rétegben ARP protokoll egy független leányvállalata protokoll tetején futó a fizikai réteg)

pl. a fizikai környezet és az elvek kódoló információt, T1. E1


Mindkét modell http az alkalmazás réteg és használja a saját jegyzőkönyv végrehajtásával alacsonyabb szinteken. Tekintsük minden szinten - a feladat messze túlmutat egyetlen cikket. Ezért szorítkozom ide egy rövid leírást az egyik szállítási réteg protokollok, azaz a TCP, amelynek alapja közvetlenül http.

A szerver indításkor mondja meg az operációs rendszer, ami a „kölcsön” egy adott portot (vagy több port). Ezután az összes érkező csomagokat ebben a kikötőben a számítógépet, az operációs rendszer küldi a szerveren. Azt mondják, hogy a szerver „figyeli”, hogy a port.

Ügyfél a kapcsolódási kérését az OS a fel nem használt port ideiglenes használatra, és rámutat arra, hogy a küldött csomagok, mint a forrás port. Aztán azon a porton kap választ csomagokat a szerver.

Nos, eljött az idő, hogy megpróbálja kihasználni a tudás és a szavakat a Java =)

Key osztályokban együttműködési programok végrehajtása TCP vannak java.net.Socket és java.net.ServerSocket.

Az alábbiakban a kódok egyszerű TCP szerver és kliens. A szerver továbbítja a konzolhoz mindent jön az ügyfél.


szerver és a kliens kód meglehetősen egyszerű, és nem valószínű, hogy nehézségeket okoz. A legfontosabb dolog, ami szükséges a maguk megérteni, hogy foglalat lehetővé teszi, hogy hozzon létre egy átlátható kapcsolatot teremt a két távoli alkalmazások, ami után az adatátvitel közöttük nem hajtjuk végre bonyolultabb olvasó / író közös patak.

Véleményem TCP megértés minimális alapját megértéséhez HTTP. A következő részben megpróbálom, hogy egy minimális képviseletet közvetlenül a HTTP protokoll és szabványos API Java végrehajtására.