
- Vi skal snakke litt om nettverk.
- Vi vil undersøke klient-server- og trelagsarkitekturen.
- Vi vil utforske HTTP/HTTPS-protokollene.
- Vi lærer alt du trenger å vite om Maven.
- Vi snakker om logging.
- Om servletbeholdere.
- Og til slutt, om MVC.
Del 1. Vi skal snakke litt om nettverk.
La oss starte med det som betyr mest ved å snakke om hva ethvert sosialt nettverk, netttjeneste og nettapp, instant messenger og enkelt nettsted er bygget på – nettverket (i sammenheng med denne artikkelserien betyr begrepet " nettverk" Internett ) . Nettverket består av et stort antall datamaskiner: de er sammenkoblet og i stand til å kommunisere. Det er viktig å forstå hvordan de gjør dette, fordi nettapplikasjoner sender informasjon fra en datamaskin til en annen.OSI-modell
Open Systems Interconnection (OSI)-modellen skaper en lagdelt tilnærming til å bygge et nettverk. Den viser tydelig hvordan og på hvilket lag enheter i samme nettverk kan samhandle med hverandre. I alt inneholder denne modellen 7 lag:7 | applikasjon |
6 | Presentasjon |
5 | Økt |
4 | Transportere |
3 | Nettverk |
2 | Data lenke |
1 | Fysisk |
-
Fysisk lag - Dette laget tar for seg fysikkens lover og hvordan du bruker dem til våre formål. For eksempel å lage kabler og legge dem til enheter i nettverket.
Dette laget interesserer oss ikke.
-
Datalinklag — Dette laget er ansvarlig for å overføre data til nettverksnoder og lage dataoverføringskanaler for fysiske objekter.
Dette laget interesserer oss ikke med mindre du ønsker å skrive fastvare for maskinvaren som etablerer datakoblinger.
-
Nettverkslag — Dette laget er for å bestemme individuelle nettverksbrukeres adresser og rutene til dem. Det er verdi å lære mer om detaljene i dette laget, nemlig nettverksadresser.
Nettverksadresser er definert av en spesiell protokoll: den vanligste er IPv4 (Internet Protocol versjon 4). Dette er protokollen som en webprogrammerer må bruke for å kontakte en annen nettverksbruker.
En IPv4-adresse består av fire byteverdier atskilt med punktum, for eksempel: 192.0.2.235. Du bør huske at disse verdiene er byte, som betyr at de ligger innenfor området 0..255.
IP-adresser er på sin side delt inn i klasser. Vi kan ikke bare tilordne oss en vakker kombinasjon av tall, men vi skal ikke gå veldig dypt her. Det er nok å forstå at en IP-adresse unikt identifiserer en nettverksbruker og kan brukes til å kontakte den brukeren.
-
Transportlag — Dette laget håndterer levering av informasjon til en adressat. Ulike protokoller brukes for å oppnå dette. Foreløpig er vi ikke interessert i dem. Vi er mye mer interessert i konseptet med en port , som vises på dette laget.
Porter er ansvarlige for å identifisere en spesifikk applikasjon på en datamaskin. Anta for eksempel at du skriver en chat-app i Java, installerer den på 2 datamaskiner og vil sende en melding til vennen din. Meldingen din er pakket, sendt til en spesifikk IP-adresse og levert til kompisen din, men datamaskinen hans vet ikke hva den skal gjøre med informasjonen som mottas, fordi den ikke forstår hvilken applikasjon som skal behandle meldingen din. Når nettverksenheter kommuniserer, brukes porter for å indikere hvilken applikasjon som skal behandle informasjonen.
Porten er et tall i området fra 0 til 65535. Det legges til IP-adressen etter et kolon: 192.0.2.235:8080 . Men du kan ikke bruke alle portene i det angitte området: noen av dem er reservert for operativsystemet, andre brukes vanligvis til spesifikke formål. Vi vil ikke fordype oss i formålet med forskjellige havner. For nå er det nok å forstå deres rolle i kommunikasjonsprosessen på nettverket.
-
Sesjonslag — Dette laget oppretter og administrerer kommunikasjonsøkter. På dette laget blir det mulig for applikasjoner å samhandle og sende forespørsler på tjenestenivå. Det vi trenger å vite er at på dette laget åpnes en økt mellom to brukere, og vi må jobbe med økten.
En økt er en enhet som opprettes når en forbindelse opprettes mellom to brukere. Den kan lagre nødvendig informasjon om en bruker og om historien til interaksjon med brukeren. En viktig detalj er at når informasjonsutvekslingen stopper, forsvinner ikke økten. I stedet beholder den tilstanden i en bestemt periode, slik at brukere kan fortsette å utveksle informasjon etter en pause.
Hvis en applikasjon kommuniserer med flere brukere samtidig, etableres et tilsvarende antall tilkoblinger (og dermed økter). Hver økt har en unik identifikator (ID) som gjør at applikasjonen kan skille mellom brukerne den kommuniserer med.
-
Presentasjonslag — Dette laget er ansvarlig for koding/dekoding av data. Det er klart, hvis vi trenger å sende strengen "Hello web" til en annen bruker, blir den først konvertert til (kodet som) binær kode, og først deretter sendes den. Når du når mottakeren, konverteres meldingen tilbake (dekodes), og mottakeren kan se den opprinnelige strengen. Disse handlingene finner sted på presentasjonslaget.
-
Påføringslag er det mest interessante laget for oss. Den lar applikasjoner kommunisere med nettverket. På dette laget mottar og sender vi meldinger, og sender forespørsler til tjenester og eksterne databaser.
Det er mange protokoller som brukes på dette laget: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET og, selvfølgelig, HTTP/HTTPS. En protokoll er en universell avtale som vi forholder oss til når vi kommuniserer. Vi vil definitivt gi en separat detaljert diskusjon av HTTP/HTTPS.

- IP-adresse — Brukerens adresse i nettverket
- Port — Adressen til en spesifikk brukers applikasjon
- Session — En enhet som eksisterer i hele perioden med kommunikasjon mellom to brukere
- Applikasjonsprotokoller (HTTP/HTTPS) — Dette er regler som vi følger når vi skriver og sender meldinger.
DNS (domenenavnsystem)
Som vi allerede har lært, har hver nettverksbruker en unik adresse. Hvis vi snakker om applikasjonen, vil dens unike adresse være IPv4-adresse:port . Hvis du kjenner denne adressen, kan du få direkte tilgang til applikasjonen. Tenk deg at vi skrev en nettapplikasjon som viser gjennomsnittlig lufttemperatur i alle land i sanntid. Vi distribuerte den på en server med adressen 226.69.237.119, på port 8080. For å kunne motta informasjon fra oss må brukeren legge inn 5 tall i nettleseren: 226.69.237.119:8080. Folk liker ikke å huske sett med tall: mange av oss kan ikke huske mer enn to telefonnumre. Det er derfor domenenavnsystemetble oppfunnet. Vi kan opprette et "alias" for adressen vår, for eksempel world-temperature.com. I stedet for å lete etter oss ved å bruke en adresse som består av fem vanskelige å huske tall, kan brukeren skrive inn domenenavnet vårt i adressefeltet til nettleseren. Det finnes DNS-servere som kartlegger domenenavn til ekte adresser. For eksempel, når en bruker skriver inn codegym.cc i en nettleser, sendes forespørselen hennes til en DNS-server, som konverterer den til den faktiske adressen.
GO TO FULL VERSION