1. Foren
  2. Kommentare
  3. Internet-Forum
  4. Alle Kommentare zum Artikel
  5. › Mozilla: Firefox-Fehler von…
  6. Thema

Warum macht man sowas?

Neue Foren im Freiraum! Raumfahrt und freie Software haben jetzt einen Platz, die Games tummeln sich jetzt alle in einem Forum.
  1. Thema
  1. 1
  2. 2

Neues Thema


  1. Re: Warum macht man sowas?

    Autor: JouMxyzptlk 14.01.22 - 14:03

    tomatentee schrieb:
    --------------------------------------------------------------------------------
    > Welches moderne OS ist denn nicht Case-sensitive? Oo

    Wenn du hier auf Windows zielst: NTFS ist schon immer case sensitive. Das OS darüber hat Case Insensitive darüber gelegt da man MILLIONEN alter Programme, welche teilweise ursprünglich aus DOS kamen und dann immer wieder auf das neuere Windows aktualisiert wurden, mit Case Sensitiven Dateinamen nicht umgehen können. Und Microsoft macht es nicht wie Apple und scheißt auf bestehende Anwendungen.

  2. Re: Warum macht man sowas?

    Autor: Steffo 14.01.22 - 14:03

    bananensaft schrieb:
    --------------------------------------------------------------------------------
    > Um genau solche Fehler zu vermeiden. Wenn alle die das interpretieren, die
    > Groß/Kleinschreibung ignorieren, ist es egal wie es kommt.

    Naja, dieser Fehler ist aber genau deswegen passiert. Außerdem ist ein zusätzlicher Check ineffizient.

  3. Re: Warum macht man sowas?

    Autor: Klausens 14.01.22 - 14:52

    Das Problem ist aber schon sehr weit hergeholt.
    Es würde also absichtlich jemand einen HTTP Header erfinden, der genauso heißt wie ein bereits existierender und das beste Mittel das zu verhindern ist case insensitive?
    Ich denke genauso effektiv wäre mal nachzufragen, ob er vielleicht nen Vogel hat.

  4. Re: Warum macht man sowas?

    Autor: /mecki78 14.01.22 - 15:03

    Klausens schrieb:
    --------------------------------------------------------------------------------
    > Es würde also absichtlich jemand einen HTTP Header erfinden

    Wieso absichtlich? Das kann auch aus versehen passieren. Wenn ich auf einem System, das bei Dateinamen Groß- und Kleinschreibung unterscheidet, in einem Ordner diese drei Dateien

    ReadMe
    readme
    README

    vorfinde, glaube ich auch nicht, dass da eine Absicht dahinter steckt. Aber so etwas passiert eben, wenn man erlaubt, dass sich Namen nur in der Großschreibung unterscheiden. Auf Systemen, die nicht zulassen, dass es eine Datei mit gleichen Name und nur unterschiedlicher Großschreibung gibt, kann so etwas hingegen nicht passieren, weil es durch das System ausgeschlossen ist.

    /Mecki

  5. Re: Warum macht man sowas?

    Autor: Steffo 14.01.22 - 15:32

    /mecki78 schrieb:
    --------------------------------------------------------------------------------
    > Das ist nämlich laut Standard immer der gleich Header. Somit ist
    > sichergestellt, dass jeder neue Header auch eine andere Buchstabenfolge
    > nutzen muss und nicht nur die gleich wie ein existierender mit nur
    > Großschreibung an einer anderen Stelle.

    Und welchen Sinn macht es einen neuen Header zu erfinden, der sich nur durch Groß- und Kleinschreibung unterscheidet?
    Außerdem werden die Header automatisiert erzeugt. D. h., dass ein Dreher in Groß- und Kleinschreibung sehr schnell auffallen würde, wenn der Standard bspw. sagt, dass alles groß geschrieben werden muss.

  6. Re: Warum macht man sowas?

    Autor: Sybok 14.01.22 - 16:07

    CompilerSindAuchNurMenschen schrieb:
    --------------------------------------------------------------------------------
    > Manche Leute würden vermutlich Windows 10 als modernes OS bezeichnen.

    Moderner als UNIX und vieles in Linux sicher! ;-)

    Aber ernsthaft: Windows ist natürlich case-sensitiv, nur werden eben standardmäßig keine Dateien parallel erlaubt, die sich nur durch die Groß-/Kleinschreibung unterscheiden. Dass dadurch die Groß-/Kleinschreibung oftmals(!) keine Rolle spielt, heißt nicht, dass sie nicht korrekt ausgewertet werden würde.

  7. Re: Warum macht man sowas?

    Autor: ratti 14.01.22 - 16:24

    Groß-Kleinschreibung "ignorieren" ist ein falsches Verständnis.

    Ein Computer ist von Haus aus "sensitiv" - ein "a" als "A" zu behandeln, liegt ihm eigentlich nicht, man muss es ihm beibringen. Und das ist eine sehr komplizierte und fehleranfällige Sache. Beispiele dafür: Es gibt im türkischen ein "I", für das kein Kleinbuchstabe existiert. Im Deutschen gibt es das "ß", welches in Großschreibung "SS" sogar die Länger der Daten verändert. Und last but not least passieren solche Dinge wie "lower(upper('ß')), wo dann aus "ß" ein "ss" wird.

    Alles zusammen plus der Tatsache, das Entwicklerteams auf der ganzen Welt nicht mit allen Untiefen aller Sprachen vertraut sind, war es also keine gute Idee, IRGENDWAS an Computern insensitiv zu machen. Wie obige Beispiele zeigen, kann man sich sehr leicht unerwartetes Verhalten oder sogar Sicherheitslücken generieren: Amerikaner rechnen nicht damit, dass ein „uCase“ einen String länger macht.

    Ich lese hier Leute, die Fragen, ob man wirklich "README" und "reame" in einem Ordner haben will. Nun - es schadet zumindest nicht. Aber wenn ich zwei Ordner ineinander kopiere, will man, dass eines das andere überschreibt? Also, für mich sieht das aus, als wäre es bestimmt nicht die gleiche Datei. Und in der Tat war es früher üblich, z.B. Libraries und Includes gleichnamig nur per Case zu unterscheiden. (auch das war vielleicht nicht klug, führte aber zu erheblichen Konflikten, als MacOS auf BSD-Userland migrierte und genau das als gängige unixoide Praxis vorfand)

    TL;DR: Case-insensitivität ist keine gute Idee.

  8. Re: Warum macht man sowas?

    Autor: series3 14.01.22 - 16:52

    In großen Netzwerk-Architekturen, wo einige Header nicht selten von (mehreren) Proxies neu geschrieben / gesetzt werden, kann das durchaus problematisch werden.

    Da gibt es Responses, wo Content-Length und content-Length existieren - wenn man nen richtig guten Tag erwischt hat, sogar mit unterschiedlichen Werten, weil die WAF scheinbar andere Werte ermittelt, aber den originalen Header nicht korrekt entfernt. Prost, Mahlzeit.

    Wenn aber manche Proxies in dem Konstrukt nur HTTP1.x unterstützen (Sophos UTM SG zB), wo es noch case-sensitive war, ein NGINX oder Apache dahinter schon HTTP2 oder HTTP3, weiß ich am Ende ehrlich gesagt nicht mehr genau, wer schuld an der Misere ist.

  9. Re: Warum macht man sowas?

    Autor: NaruHina 14.01.22 - 16:54

    Gut dass das ß zu den sonderzeichen gehört genauso wie äöü und andere ubd beim programmieren daher keine Anwendung finden.

  10. Re: Warum macht man sowas?

    Autor: ratti 14.01.22 - 17:02

    NaruHina schrieb:
    --------------------------------------------------------------------------------
    > Gut dass das ß zu den sonderzeichen gehört genauso wie äöü und andere ubd
    > beim programmieren daher keine Anwendung finden.

    Zum einen stimmt das so nicht, zum Beispiel Javascript versteht
    ❤︎=1;

    Zum anderen muss es ja nicht gleich ein Benenner sein. Im hier diskutierten Fall wird es halt sowas wie
    headerValue[headerName]
    gewesen sein, und die „Lösung“ dann sowas wie
    headerValue[upperCase(headerName)]

    …und schwupps, schickt der Bösewicht einfach mal einen Header namens "ßßßßßßßßßß" (mal 3 Millionen) mit und checkt, ob der Entwickler aufgepasst hat.

    Man will sowas nicht. Echt nicht. A ist nicht a , jedenfalls nicht in der Technik.

  11. Re: Warum macht man sowas?

    Autor: bastie 14.01.22 - 18:29

    ratti schrieb:
    --------------------------------------------------------------------------------
    > Im Deutschen
    > gibt es das "ß", welches in Großschreibung "SS" sogar die Länger der Daten
    > verändert.

    Insgesamt gebe ich dir recht. Aber beim ß hast du veraltete Informationen, denn mittlerweile soll man statt einer Umwandlung in "SS" lieber den Großbuchstaben "ẞ" schreiben.
    groß
    GROẞ

    (Machen natürlich längst nicht alle Menschen und auch längst nicht alle Programme.)

  12. Re: Warum macht man sowas?

    Autor: captain_spaulding 14.01.22 - 18:59

    /mecki78 schrieb:
    --------------------------------------------------------------------------------
    > stop schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Welchen sinn macht es dateinamen case insensitive zu machen?
    >
    > Den, dass nicht jemand aus versehen jedes mal eine neue Datei anlegt, wenn
    > er auf die Shift-Taste kommt bzw. weil er nicht mehr weiß wie die
    > Großschreibung war und du dann am Ende
    >
    > Readme
    > README
    > readme
    > ReadMe
    > reAedme
    >
    > im selben Verzeichnis liegen hast. Na, welche davon ist denn jetzt die
    > richtige, relevante Read-Me Datei korrekter Benennung?

    Wenn das wirklich ein Problem ist, wieso unterstützen dann selbst neueste Programmiersprachen keine case-insensitiven Variablen?
    Meine Vermutung: Es sieht einfach scheisse aus wenn ein (Datei/Variablen-)Name immer anders geschrieben wird. Daher ist Deutsch auch case-sensitiv.

  13. Re: Warum macht man sowas?

    Autor: captain_spaulding 14.01.22 - 19:01

    /mecki78 schrieb:
    --------------------------------------------------------------------------------
    > Klausens schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Es würde also absichtlich jemand einen HTTP Header erfinden
    >
    > Wieso absichtlich? Das kann auch aus versehen passieren. Wenn ich auf einem
    > System, das bei Dateinamen Groß- und Kleinschreibung unterscheidet, in
    > einem Ordner diese drei Dateien
    >
    > ReadMe
    > readme
    > README
    >
    > vorfinde, glaube ich auch nicht, dass da eine Absicht dahinter steckt. Aber
    > so etwas passiert eben, wenn man erlaubt, dass sich Namen nur in der
    > Großschreibung unterscheiden. Auf Systemen, die nicht zulassen, dass es
    > eine Datei mit gleichen Name und nur unterschiedlicher Großschreibung gibt,
    > kann so etwas hingegen nicht passieren, weil es durch das System
    > ausgeschlossen ist.

    Case-insensitive Vergleiche sind viel fehleranfälliger zu programmieren. Und auch weniger performant. Es hat eigentlich nur Nachteile.

  14. Re: Warum macht man sowas?

    Autor: captain_spaulding 14.01.22 - 20:18

    Ich wusste gar nicht dass es ein großes ß gibt. Meine Tastatur hat das nichtmal...

  15. Re: Warum macht man sowas?

    Autor: Renegade3349 15.01.22 - 01:15

    glmuser schrieb:
    --------------------------------------------------------------------------------
    > FAT auch seitdem es lange Dateinamen unterstützt, es wird auch so
    > dargestellt und richtig gespeichert. Nur beim Öffnen einer Datei ist die
    > Groß/Kleinschreibung nicht relevant.
    Es geht aber nicht unbedingt nur darum Groß- und Kleinbuchstaben zu unterstützen, sondern diese auch zu unterscheiden.
    Als Dateisystem kann NTFS theoretisch auch case sensitive genutzt werden, dann sind Datei und dAtei 2 verschiedene Dateien. Aber da würde Windows momentan Probleme machen, da davon ausgegangen wird, dass die beiden Namen die gleiche Datei meinen.
    Diese Designentscheidung nachträglich zu ändern würde zu vielen Inkompatibilitäten führen, wenn Programme z.B. nach einer config.ini suchen, es aber nur eine Config.INI gibt.

  16. Re: Warum macht man sowas?

    Autor: NaruHina 15.01.22 - 07:08

    Nur weil JavaScript das versteht sollte man damit immer noch nicht programmieren.
    Zumindest bei mir würden solche Leute achtkantig rausfliegen,

  17. Re: Warum macht man sowas?

    Autor: NaruHina 15.01.22 - 07:09

    Das ist auch gut so.
    Dass ist eine Sache die mich an Linux Systemen schon immer gestört hat.

  18. Re: Warum macht man sowas?

    Autor: Vögelchen 15.01.22 - 10:24

    stop schrieb:
    --------------------------------------------------------------------------------
    > Welchen sinn macht es dateinamen case insensitive zu machen?


    DOS 3 ist vorbei.

  19. Re: Warum macht man sowas?

    Autor: ratti 15.01.22 - 18:29

    bastie schrieb:
    > Insgesamt gebe ich dir recht. Aber beim ß hast du veraltete Informationen,
    > denn mittlerweile soll man statt einer Umwandlung in "SS" lieber den
    > Großbuchstaben "ẞ" schreiben.
    > groß
    > GROẞ

    Ich weiss von dem „großen SZ“. Ich würde es aber nicht als „veraltet“ bezeichnen, wenn keine mir bekannte Programmiersprache das macht, kein Muttersprachler es tut und selbst die Fachleute aus diesem Bereich nie davon gehört haben.

    Man kann da sicher drüber diskutieren, aber derzeit sieht es für mich so aus, als würde sich das auch nicht durchsetzen.

  1. Thema
  1. 1
  2. 2

Neues Thema


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Fachinformatiker Customer Support (m/w/d)
    INIT Group, Karlsruhe
  2. SAP Key-User SD (m/w/d) - Mitarbeiter Customer Service
    Wörwag Pharma GmbH & Co. KG, Böblingen
  3. Softwareentwickler (m/w/d) Bildverarbeitung / Industrie 4.0
    STEMMER IMAGING AG, Puchheim
  4. IT-Administrator (m/w/d)
    Pinion GmbH, Denkendorf

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. 12,99€
  2. 14,49€
  3. wechselnde Angebote


Haben wir etwas übersehen?

E-Mail an news@golem.de