Bedeutung von aria-hidden und line-numbers-rows in HTTP-Get-Requests

Enomine88

Ensign
Registriert
Dez. 2010
Beiträge
201
Hallo,

schreibe an meiner Masterarbeit, vielleicht könnt ihr mir helfen.

Ich habe HTTP GET jetzt so verstanden, bitte widersprechen, falls ich unfug erzähle, da ich das in etwa so in meine Masterarbeit schreiben möchte:

"Öffnet der Benutzer die URL 'www.example.com/index.html' über die Adresszeile des Browsers oder durch einen Klick auf einen entsprechenden Link, so stellt der Browser im Hintergrund zunächst eine Verbindung zu www.example.com her. Sobald diese Verbindung aufgebaut ist, sendet der Browser über HTTP die Anfrage (eng. 'Request') 'GET /index.html<span aria-hidden="true" class="line-numbers-rows"><span></span></span>' an den Server. Als Antwort übermittelt der Server eine Antwort (eng. 'Response'), welche unter anderem die HTML Webseite enthält. Diese wird vom Browser dann angezeigt."

Dies sind eigene Worte von mir mit Informationen aus folgender Quelle: https://www.ionos.de/digitalguide/hosting/hosting-technik/http-request-erklaert/


Das Problem welches ich jetzt gerne noch klären würde, ist was dieses <span aria-hidden="true" class="line-numbers-rows"><span></span></span> da zu suchen hat, ob es auch ohne geht und welche Bedeutung es denn hat.

Dazu suche ich noch Quellen die das erklären.

Danke - Enomine
 
Zuletzt bearbeitet:
Der Browser sendet nur "GET /index.html" an den Webserver, welcher daraufhin die index.html ausliefert. Innerhalb der index.html gibt es dann die span-Tags, die bestimmte Bereiche darstellen. Das Attribut aria-hidden steuert die Sichtbarkeit von Elementen - siehe hier:

https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-hidden

Ich vermute allerdings, dass Du die span-Tags sowie den Rest aus Versehen aus dem Quelltext der IONOS-Website mit kopiert hast.
 
Wo kommt denn das Beispiel mit dem span Element in der URL her? Im Ionos Artikel ist das so nicht aufgeführt. Ist insgesamt auch quatsch. Wenn du so etwas anfragen wollen würdest, müsstest du die <span> zumindest URLEncoden.
Ist das eine Abwandlung des Beispiels mit Queryparametern aus dem Artikel?

Ansonsten eine Anmerkung zu deinem formulierten Satz:
Der Browser stellt nicht wirklich eine Verbindung her zu www.example.com, sondern zu der mit der Domain verknüpften IP-Adresse auf Port 80 bzw 443. In Kombination mit dem Host Header weiß dann der Server, zu welcher Webseite (virtueller Host) der Request gehört.
 
Hallo Daloop,

hast du ne Idee, warum ionos (immerhin ein sehr bekanntes Unternehmen) dann behauptet die Anfrage laute
GET /test.html<span aria-hidden="true" class="line-numbers-rows"><span></span></span>

Und das sogar zweimal in dem Text?

Danke - Enomine
 
Ich denke das ist ein Anzeige Fehler auf der Ionos Seite. Alles mit <> ist html code und hat nichts in einer url zu suchen.
Du kannst ja Ionos auf den Fehler hinweisen. Die werden bestimmt dankbar sein.
 
Screenshot 2022-10-09 144620.png
 
Enomine88 schrieb:
Hallo Daloop,

hast du ne Idee, warum ionos (immerhin ein sehr bekanntes Unternehmen) dann behauptet die Anfrage laute
GET /test.html<span aria-hidden="true" class="line-numbers-rows"><span></span></span>

Und das sogar zweimal in dem Text?

Danke - Enomine
1665319778678.png

Bei mir siehts so aus. Alles andere bei Dir ist Webseiten-Quellcode, der normalerweise nicht sichtbar sein sollte.
 
Problem geklärt.
Eieiei das wäre ja was gewesen, wenn ich das so in der Masterarbeit zitiert hätte ;)

Danke - Enomine
Ergänzung ()

Nafi schrieb:
Ansonsten eine Anmerkung zu deinem formulierten Satz:
Der Browser stellt nicht wirklich eine Verbindung her zu www.example.com, sondern zu der mit der Domain verknüpften IP-Adresse auf Port 80 bzw 443. In Kombination mit dem Host Header weiß dann der Server, zu welcher Webseite (virtueller Host) der Request gehört.
Da hätte ich noch eine Nachfrage.

Wann wird wo ein Host Header übertragen? In der GET-Anfrage steht ja kein Host mit dabei.

Danke - Enomine
 
Hier muss dann nochmal etwas ausgeholt bzw ergänzt werden:
  • Der Host Header existiert in HTTP 1.1, siehe RFC
  • In HTTP 2.0 gibt es statt Host dann 3 Header: :authority :scheme und : path
  • Wenn TLS verwendet wird, also https:// muss der Server und Browser zusätzlich SNI unterstützen, sonst weiß der Server nicht, welches Zertifikat er nutzen soll.
 
Ja okay wir wollen jetzt nicht zu technisch werden, es soll eine beiläufige Erklärung werden, da die Masterarbeit eigentlich um etwas anderes geht. HTTP ist nur ein Unterkapitel von ca. 1 halbe Seite. Ich möchte grob HTTP anreißen und dann mehr fokus auf GET, POST, DELETE, PUT usw. legen, weil ich diese Begriffe brauche, um dann REST und danach RESTful erklären zu können.

Deswegen: Wenn der Client jetzt an die IP der Domain example.com sich verbunden hat - und auf diesem Server ja ggf. mehrere Domains registriert sind (so verstehe ich dich) - woher weiß dann der Server bei der darauf folgenden Client-Anfrage "GET /index.html", von welcher Domain er ausliefern soll?

Laut Definition von GET, POST usw. dürfen diese ja nicht zwischenspeichern sondern müssen autark funktionieren.
EDIT: Mit letzter Aussage beziehe ich mit auf die "Idemptency" oder auch "Idempotent", wie es im englischen Original beschrieben wird. https://www.mscharhag.com/api-design/http-idempotent-safe

Danke - Enomine
 
Das "GET /index.html" ist nur der erste Teil einer Request. Da steht noch einiges mehr drin.

Zitat von RFC9110 - HTTP-Semantics:
Code:
For example, a GET request to the origin server for <http://www.example.org/pub/WWW/> would begin with:

GET /pub/WWW/ HTTP/1.1
Host: www.example.org
 
Okay also stellt IONOS das falsch dar und das sind Falschinformationen, die ich gar nicht Zitieren sollte?

Danke - Enomine
 
Enomine88 schrieb:
Okay also stellt IONOS das falsch dar und dar sind Falschinformationen, die ich gar nicht Zitieren sollte?
Naja, falsch ist es nicht - nur extrem vereinfacht. Mal abgesehen von den bei Dir angezeigten Sachen aus dem Quellcode der Seite.
 
"would begin with:"
aus
https://www.rfc-editor.org/rfc/rfc7230#section-5.4
ist denke ich ein guter Ansatz.
So kann ich beliebig verkürzt darstellen ohne zu behaupten, dass es vollständig wäre. So kann ich den Fokus auf das wichtige setzen.

Damit würde ich also schreiben:

Öffnet der Benutzer die URL 'www.example.com/index.html' über die Adresszeile des Browsers oder durch einen Klick auf einen entsprechenden Link, so stellt der Browser im Hintergrund zunächst eine Verbindung zu der zu www.example.com verknüpften IP her. Sobald diese Verbindung aufgebaut ist, sendet der Browser über HTTP eine Anfrage (eng. 'Request') beginnend mit "GET /index.html" an den Server. In dieser Anfrage sind weitere Zeilen vorhanden, diese werden aber hier aus Gründen der Vereinfachung nicht erklärt. Als Antwort übermittelt der Server eine Antwort (eng. 'Response'), welche unter anderem die HTML Webseite enthält. Diese wird vom Browser dann angezeigt.

Danke - Enomine
 
  • Gefällt mir
Reaktionen: Daloop
Zurück
Oben