- 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.
GO TO FULL VERSION