Lernjournal 06.05.2022
1. Auftrag
Aufbau einer URL
Beispiel einer URL:
http://mypage.example.com:80/index.html?page=0#Start
| | | | | | | | |
| [1] | [2] | [3] |[4]|[5]| [6] | [7] | [8] |
- Protokoll Meistens entweder http oder https. Der Unterschied besteht darin, dass https verschlüsselt ist und http nicht.
- Subdomain Ist nicht zwingend notwendig. Kann aber z.B. dafür verwendet werden, um die verschiedenen Bereiche einer Webseite sauber voneinander zu trennen.
- Domain Die Domain der Website wird anschliessend dazu verwendet, vom DNS Server die dazu passende IP Adresse herauszufinden.
- Top-Level Domain Die TOP-Level Domain zeigt primär an, welcher DNS Server für die Verwaltung der IP Adresse zuständig ist.
- Port Der Port zeigt genauer an, welcher Dienst auf dem Server angesprochen wird. Er muss aber nur dann mitgesendet werden, wenn nicht der default Port verwendet wird. Der default Port von HTTP ist 80 beziehungsweise 443 von HTTPS.
- Pfad auf der Webseite Zeigt der Pfad auf der Webseite auf.
- Parameter Sind Parameter die mitgesendet werden.
- Fragmen Kann dazu verwendet werden, um eine Position in der Website genauer anzugeben.
Ablauf bei einem Request
Client Router DNS Server
_________________ ______________
| ____________ | ◜ ◝ | •• |
| | | | ◜◝ |──────────────| -----┆
| | | | [1] | [2] | •• | ┆ [3]
| |___________| | ----------> __________|____ -----------------> |──────────────| <----┆
|_______________| [5] | ° ° ° | [4] | •• |
\ _\_\_\_\_\_\_\ \ <----------- |______________| <---------------- |──────────────|
\ _\_\_\_\_\_\_\ \ [6] |______________|
\________________\ ---------> ┆
┆
Webserver ┆
_______________ ┆ [7]
| •• | ┆
|──────────────| <-------------------- ┆
| •• |
|──────────────|
| •• |
|──────────────|
|______________|
- Das erste was der Client (Computer) nach dem Aufrufen einer Website wie z.B. `http://www.example.com macht, ist, dass er in seinem internen DNS cache nachschaut ob da die IP Adresse bereits aufgelöst ist. Falls dies der Fall ist, kann Punkt 1-5 geskipt werden.
- Falls der Client den DNS Namen nicht kennt, sendet er eine DNS Anfrage an den Rooter.
- Der Rooter leitet anschliessend diese Anfrage weiter an den Root DNS Server.
- Der Root DNS Server kennt die IP Adresse selber nicht, er weiss aber, dass es sich dabei ume eine
.com
Adresse handelt. Also leitet er diese weiter an den.com
DNS Server. Falls dieser auch nicht die IP-Adresse Auflösung kennt leitet er die Anfrage auch weiter an einen Sub DNS Server. - Anschliessend wird der DNS Response wieder zurück an den Rooter des Client gesendet.
- Der Rooter leitet diese dann weiter an den Client. Nun kennt der Client die IP Adresse des Servers.
- Anschliessend sendet der Client eine Anfrage an die benannte IP Adresse. Der Rooter überprüft nun, ob es sich dabei um eine private (Interne) oder eine öffentliche (Externe) IP-Adresse handelt.
- Je nachdem, um welchen IP-Adress Typ es sich handelt, wird die IP-Adresse an einen öffentlichen oder einen privaten (internen) Server weitergeleitet.
IPV4-Adressen
Eine IPV4 Adresse besteht immer aus 4 Teilen zu je 8 Bit, die mit Punkten voneinander getrennt sind. Es gibt also insgesam in etwa
4**109 = 4 Milliarden
IPV4 Adressen. Da nach einer bestimmten Zeit die IPV4 Adressen knapp wurden, kam man auf die Idee, 2 verschiedene IPV4 Adressbereiche zu erstellen (privater und öffentlicher Bereich). Dadurch können Geräte wie IoT-Geräte, Computer usw, welche nicht konstant online sind, sich eine öffentliche IPV4 Adresse teilen (Router). Die genauere Unterscheidung zwischen den verschiedenen Geräte in einem Netzwerk, wird anschliessend über Private IPV4 Adressen gelöst.Private Bereiche
Grundsätzlich gibt es nur 3 private IPV4 Adress-Bereiche. Diese IP Adressen sind speziell für diesen Zweck reserviert. Die IP-Bereiche unterscheiden sich grundsätzlich in der Anzahl der mögliche IP Adressen. Die Brodcast Adresse ist eine Adresse, über die man alle IP Adressen in einem Netzwerk ansprechen kann. Sie entspricht Immer der letzen IP-Adresse im Netzwerk.
von bis Broadcast Adresse Möglichkeiten 10.0.0.0 - 10.255.255.255 10.255.255.255 2**24 172.16.0.0 - 172.31.255.255 172.31.255.255 2**20 192.168.0.0 - 192.168.255.255 192.168.255.255 2**16
Localhost
Es gibt noch einen 3. Bereich. Den sogenannten Localhost. Beim Localhost handelt es sich um eine IPV4 adresse die immer auf die IP Adresse des eigenen Gerätes zeigt. Die IP Adresse Localhost ist
127.0.0.1
. Diese IPV4 adresse kann z.B. dafür verwendet werden um Dienste wie z.B. einen Doker Container auf dem eigenen Gerät anzuspechen.Ablauf einer HTTP Request Response
_________________ | ____________ | _______________ | | | | HTTP-Request | •• | | | | | ---------------------> |──────────────| | |___________| | | •• | |_______________| HTTP-Response |──────────────| \ _\_\_\_\_\_\_\ \ <------------------- | •• | \ _\_\_\_\_\_\_\ \ |──────────────| \________________\ |______________|
Der Ablauf einer HTTP Request und einer HTTP Response verläuft im Grundaufbau immer gleich. Im Header der Anfrage an den Server steht meistens der Path aus der Url, die Anfragemethode und das Schema. Es gibt 4 (5) standard Anfragemethoden. Diese sind:
GET
um etwas anzufragen,POST
um Daten an den Server zu senden,DELETE
um Daten wieder zu löschen undPATCH
(partial update) undPUT
um Daten zu ändern. Grudsätzlich muss man nicht verschiedene Anfragemethoden benuzten. Es entspricht aber einem good practice. Natürlich können auch weitere Daten, wie z.B. Cookies, im Anfrageheader mitgesendet werden. Im Schema wird beschrieben welches Protokoll verwendet wird (http
,https
)
Als Antwort auf die Anfrage vom Client sendet dann der Server eine HTTP-Response an den Client. Im Response sendet der Server als erste Zeile immer einen Statuscode. Dieser Statuscode zeigt an, ob die Request Erfolgreich war, oder ob es zu komplikatinen gekommen ist. Es gibt 5 Gruppen von Statuscode
HTTP Staus Codes:Code Name 1xx - Information 2xx - Erfolgreich 3xx - Redirects 4xx - Cliend Side Error 5xx - Server Side Error
418:
Eine Ausnahme unter den HTTP Status Codes stellt der Status Code418
(I’m a Teapot) dar. Dieser war ursprünglich als Aprilscherz gedacht hat aber bis in die heutige Zeit überlebt und existiert nun als offizieller HTTP Response Code. Selbst Google hat eine Website, auf welcher man den HTTP Status Code sehen kann https://www.google.com/teapot.Reflextion
Ich denke, dass ich im Untericht gut mitgekommen bin. Ich konnte alle Aufgaben schnell und effektiv lösen. Die Aufgaben konnte ich schnell und Sauber ohne grösser Probleme lösen. Auch denke ich, dass ich diese Woche ein sauberes und asführliches Lernjournal erstellt habe.