"Hej, Amigo!"
"Hej Bilaabo! Hvad laver vi i dag?"
"I dag vil jeg fortælle dig, hvordan du installerer en Tomcat-webserver."
"Hvad er en webserver? Hvad er en almindelig server?"
"Der er en måde, hvorpå programmer kan interagere, kaldet et klient-serverforhold. Serveren betjener klientanmodninger. Klienter sender deres anmodninger til serveren, og serveren opfylder dem og returnerer resultatet."
"Forestil dig en sælger, der betjener kunder i en butik. I dette tilfælde er sælgeren faktisk serveren, butikkens kunder er kunderne, og produktet solgt af sælgeren er resultatet af behandlingen af anmodningen (resultatet af serverens arbejde). ."
"Med andre ord er en server den, der betjener en kundes anmodninger/ordrer/behov, ikke?"
"Ja."
"Okay, hvad er så en webserver?"
"En webserver er et program, der betjener sideanmodninger fra brugernes browsere."
"Når du indtaster en bestemt URL i en browser, går anmodningen til serveren, serveren behandler anmodningen, genererer en webside og sender den tilbage til browseren."
"Webserveren er serveren. Browseren er klienten. URL'en er anmodningen. Websiden er resultatet af behandlingen af anmodningen."
"Ah. Situationen bliver langsomt klarere. Med andre ord er en webserver et program(?), der genererer sider til browsere. Ikke?"
"Ja."
"Lad os tage en almindelig URL:"
Parsing URL'er |
---|
http : // codegym.cc/alpha/api/contacts ? _ userid=13&filter=none&page=3 |
Beskrivelse af dele af en URL |
codegym.cc er domænenavnet, det unikke navn (adresse) på en computer på internettet |
http er protokollen for klient-server kommunikation |
alpha/api/contacts er webserverens anmodning eller anmodning om en webside på serveren |
userid=13 &filter=none & page=3 er webserverens anmodning eller anmodning om en webside på serveren |
"Tjek det ud. Vi får en computer og forbinder den til internettet."
"Så køber vi et domænenavn til det."
"Så kører vi en webserver på den."
"Nu kan du sende anmodninger til denne webserver fra enhver browser ved at indtaste en URL med dens domænenavn."
"Jeg tror, jeg forstår."
"Jeg vil dele en analogi for at gøre alting lidt klarere."
Parsing |
---|
Engelsk :// Jason / pass me folder ? nummer=13 |
Beskrivelse af dele af |
Jason er det unikke navn på en computer på internettet |
Engelsk er protokollen for klient-server kommunikation |
pass me folder er webserveranmodningen eller anmodningen om en webside på serveren |
nummer=13 er en streng med anmodningsparametrene |
"Ah. Det er virkelig tydeligere. Tak."
"Det er ikke alt. Nogle gange kører flere webservere på en enkelt computer. For at skelne dem tildeles de numre."
"Tænk på et domæne som en bygning. Hvis en familie bor i bygningen, så ville du skrive noget i retning af «5 Third Anti-Martian Uprising St.» når du sender dem et brev."
"Forestil dig nu, at der bor flere familier i bygningen."
"Som en lejlighedsbygning?"
"Nøjagtig! Det ligner meget. Tak for analogien."
"Inde i bygningen er der mange lejligheder. Nogle lejligheder er ubeboede. Nogle er optaget af webservere. Og når du sender en forespørgsel til en webserver, skal du også angive lejlighedsnummeret. I en URL kaldes dette nummer et Havn."
"For eksempel:"
http :// codegym.cc:80 / alpha/api/contacts ? userid=13&filter=none&page=3 |
http :// codegym.cc:8080 / alpha/api/contacts ? userid=13&filter=none&page=3 |
http :// codegym.cc:443 / alpha/api/contacts ? userid=13&filter=none&page=3 |
"I virkeligheden er alle servere lejlighedsbygninger. Og hver har 65.000 lejligheder (havne)."
"Hvorfor 65.000?"
"To bytes bruges til at angive et portnummer. 65536 er den største heltalsværdi, der er to bytes lang."
"Hver protokol (http, https, ftp, ...) har sin egen standardport."
"Hvis lejlighedsnummeret (porten) ikke er angivet, bruges protokollens standardport."
"Hvis protokollen er http, så er porten 80. Hvis protokollen er https, så er porten 443 osv."
"Med andre ord er følgende poster tilsvarende:"
URL | Hvad det egentlig betyder |
---|---|
http://www.mail.google.com _ | http ://www.mail.google.com: 80 |
http://codegym.cc _ | http ://codegym.cc: 80 |
http://codegym.cc/alpha _ | http ://codegym.cc: 80 /alpha |
https ://codegym.cc/api?x | https ://codegym.cc: 443 /api?x |
"Hvad hvis porten er 444, men protokollen er https?"
"Jeg har allerede fortalt dig det. Hvis porten ikke er specificeret, så bestemmes den baseret på protokollen. Hvis den er specificeret, bruges den angivne port."
"Jeg ser."
"Du ved, hvordan mennesker nogle gange bruger stedord i stedet for navne: Jeg, dig, han, ...?"
"Ja, men folk er i sagens natur mærkelige. Jeg prøver ikke at være opmærksom på det."
"Nå, computere har også et domænenavn, der betyder 'jeg'. Det er 'localhost'."
"Hvis du indtaster localhost i din browser, får browseren adgang til din computer."
"Og hvis du har en webserver installeret, så sender den en webside til browseren."
"Fedt! Jeg vil starte en webserver og åbne sider i browseren."
"Fortæl mig, hvordan man gør det, Bilaabo. Vær venlig! Du er min ven, ikke?"
"Bilaabo ville gøre alt for en ven."
"Hør efter."
Trin 1 |
---|
Installer Java Development Kit (JDK) |
Resultat |
JDK er installeret |
"Bilaabo, jeg er en niveau 30-programmør. Jeg har installeret JDK for længe siden!"
"Godt, så lad os fortsætte."
Trin 2 |
---|
Download Tomcat 9 |
Tip 1: |
Brug Google |
Tip 2: |
Officiel Apache Tomcat-webside |
Tip 3 (direkte link for Windows-brugere): |
Download Apache Tomcat |
"Forstået."
"Store."
Trin 3 |
---|
Installer Tomcat 9 Brug standardinstallationsindstillingerne. Ændre ikke noget. |
Skærm 3 |
Skærm 4 |
---|
"Her kan du indstille webserverens navn og port. Standard er port 8080. Du
skal ikke ændre noget. Lad alt være som det er."
Skærm 5 |
---|
Angiv den mappe, hvor JDK er installeret
Skærm 6 |
---|
Skærm 7 |
---|
"Jep. Jeg har lige klikket på Næste, og det var det."
"Fantastisk. Nu har du en Tomcat 9-webserver installeret og kørende, som lytter efter anmodninger på port 8080. Dette er standardporten til softwareudvikling."
"Okay, så jeg har Tomcat, men hvordan kan jeg skrive et program til det?"
"Jeg vil have det til at generere noget interessant - en slags cool webside."
"OK, jeg skal fortælle dig, hvordan du gør det efter en kort pause."
GO TO FULL VERSION