
- Vi taler lidt om netværk.
- Vi vil undersøge klient-server- og trelagsarkitekturen.
- Vi vil udforske HTTP/HTTPS-protokollerne.
- Vi lærer alt, hvad du behøver at vide om Maven.
- Vi taler om logning.
- Om servletbeholdere.
- Og endelig om MVC.
Del 1. Vi taler lidt om netværk.
Lad os starte med det, der betyder mest ved at tale om, hvad ethvert socialt netværk, webtjeneste og web-app, instant messenger og simpelt websted er bygget på - netværket (i forbindelse med denne serie af artikler betyder udtrykket "netværk" internettet ) . Netværket består af et stort antal computere: de er forbundet og i stand til at kommunikere. Det er vigtigt at forstå, hvordan de gør dette, fordi webapplikationer sender information fra en computer til en anden.OSI model
Open Systems Interconnection (OSI)-modellen skaber en trindelt tilgang til opbygning af et netværk. Det viser tydeligt, hvordan og på hvilket lag enheder i det samme netværk kan interagere med hinanden. I alt indeholder denne model 7 lag:7 | Ansøgning |
6 | Præsentation |
5 | Session |
4 | Transportere |
3 | Netværk |
2 | Data link |
1 | Fysisk |
-
Fysisk lag - Dette lag omhandler fysikkens love og hvordan man bruger dem til vores formål. For eksempel at skabe kabler og lægge dem til enheder i netværket.
Dette lag interesserer os ikke.
-
Datalinklag — Dette lag er ansvarlig for at overføre data til netværksknuder og skabe datatransmissionskanaler for fysiske objekter.
Dette lag interesserer os ikke, medmindre du vil skrive firmware til den hardware, der etablerer datalinks.
-
Netværkslag — Dette lag er til at bestemme individuelle netværksbrugeres adresser og ruterne til dem. Der er værdi i at lære mere om detaljerne i dette lag, nemlig netværksadresser.
Netværksadresser er defineret af en speciel protokol: den mest almindelige er IPv4 (Internet Protocol version 4). Dette er den protokol, som en webprogrammør skal bruge for at kontakte en anden netværksbruger.
En IPv4-adresse består af fire byteværdier adskilt af punktummer, for eksempel: 192.0.2.235. Du skal huske, at disse værdier er bytes, hvilket betyder, at de ligger inden for området 0..255.
IP-adresser er til gengæld opdelt i klasser. Vi kan ikke bare tildele os selv en smuk kombination af tal, men vi vil ikke gå meget dybt her. Det er nok at forstå, at en IP-adresse unikt identificerer en netværksbruger og kan bruges til at kontakte denne bruger.
-
Transportlag — Dette lag håndterer levering af information til en adressat. Forskellige protokoller bruges til at opnå dette. Lige nu er vi ikke interesserede i dem. Vi er meget mere interesserede i konceptet med en havn , som vises på dette lag.
Porte er ansvarlige for at identificere en specifik applikation på en computer. Antag for eksempel, at du skriver en chat-app i Java, installerer den på 2 computere og vil sende en besked til din ven. Din besked pakkes, sendes til en bestemt IP-adresse og leveres til din ven, men hans computer ved ikke, hvad den skal gøre med de modtagne oplysninger, fordi den ikke forstår, hvilken applikation der skal behandle din besked. Når netværksenheder kommunikerer, bruges porte til at angive, hvilken applikation der skal behandle oplysningerne.
Porten er et tal i området fra 0 til 65535. Det tilføjes til IP-adressen efter et kolon: 192.0.2.235:8080 . Men du kan ikke bruge alle porte i det angivne område: nogle af dem er reserveret til operativsystemet, andre bruges normalt til specifikke formål. Vi vil ikke dykke ned i formålene med forskellige havne. For nu er det nok at forstå deres rolle i kommunikationsprocessen på netværket.
-
Sessionslag — Dette lag opretter og administrerer kommunikationssessioner. På dette lag bliver det muligt for applikationer at interagere og sende anmodninger på serviceniveau. Det vi skal vide er, at på dette lag åbnes en session mellem to brugere, og vi skal arbejde med sessionen.
En session er en enhed, der oprettes, når der etableres en forbindelse mellem to brugere. Det kan gemme nødvendige oplysninger om en bruger og om historikken for interaktion med brugeren. En vigtig detalje er, at når udvekslingen af information stopper, forsvinder sessionen ikke. I stedet bevarer den sin tilstand i en bestemt periode, så brugere kan fortsætte med at udveksle oplysninger efter en pause.
Hvis en applikation kommunikerer med flere brugere på samme tid, etableres et tilsvarende antal forbindelser (og dermed sessioner). Hver session har en unik identifikator (ID) , som gør det muligt for applikationen at skelne mellem de brugere, som den kommunikerer med.
-
Præsentationslag — Dette lag er ansvarlig for kodning/afkodning af data. Det er klart, at hvis vi skal sende strengen "Hej web" til en anden bruger, bliver den først konverteret til (kodet som) binær kode, og først derefter sendes den. Når den når frem til modtageren, konverteres beskeden tilbage (afkodes), og modtageren kan se den originale streng. Disse handlinger finder sted på præsentationslaget.
-
Applikationslag er det mest interessante lag for os. Det giver applikationer mulighed for at kommunikere med netværket. På dette lag modtager og sender vi beskeder og sender anmodninger til tjenester og fjerndatabaser.
Der er mange protokoller brugt på dette lag: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET og selvfølgelig HTTP/HTTPS. En protokol er en universel aftale, som vi overholder, når vi kommunikerer. Vi vil helt sikkert give en separat detaljeret diskussion af HTTP/HTTPS.

- IP-adresse — Brugerens adresse i netværket
- Port — Adressen på en specifik brugers applikation
- Session — En enhed, der eksisterer i hele kommunikationsperioden mellem to brugere
- Applikationsprotokoller (HTTP/HTTPS) — Dette er regler, som vi følger, når vi skriver og sender beskeder.
DNS (Domain Name System)
Som vi allerede har lært, har hver netværksbruger en unik adresse. Hvis vi taler om applikationen, vil dens unikke adresse være IPv4-adresse:port . Hvis du kender denne adresse, kan du få direkte adgang til applikationen. Forestil dig, at vi skrev en webapplikation, der viser den gennemsnitlige lufttemperatur i alle lande i realtid. Vi installerede det på en server med adressen 226.69.237.119, på port 8080. For at kunne modtage information fra os skal brugeren indtaste 5 tal i browseren: 226.69.237.119:8080. Folk kan ikke lide at huske sæt tal udenad: mange af os kan ikke huske mere end to telefonnumre. Det er derfor Domain Name Systemblev opfundet. Vi kan oprette et "alias" for vores adresse, for eksempel world-temperature.com. I stedet for at lede efter os ved hjælp af en adresse bestående af fem svære at huske tal, kan brugeren indtaste vores domænenavn i adresselinjen i browseren. Der er DNS-servere , der kortlægger domænenavne til rigtige adresser. For eksempel, når en bruger indtaster codegym.cc i en browser, sendes hendes anmodning til en DNS-server, som konverterer den til den faktiske adresse.
GO TO FULL VERSION