{"id":69058,"date":"2026-06-30T09:08:12","date_gmt":"2026-06-30T07:08:12","guid":{"rendered":"https:\/\/www.herr-rau.de\/wordpress\/?p=69058"},"modified":"2026-06-30T09:08:12","modified_gmt":"2026-06-30T07:08:12","slug":"client-und-server-tcp-und-tls-3","status":"publish","type":"post","link":"https:\/\/www.herr-rau.de\/wordpress\/2026\/06\/client-und-server-tcp-und-tls-3.htm","title":{"rendered":"Client und Server, TCP und TLS (3)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.herr-rau.de\/wordpress\/2026\/06\/client-und-server-tcp-und-tls-2.htm\">(Fortsetzung von hier.)<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Einen eigenen Server programmieren<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Was nicht gut geht<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Ein echter eigener Server im Computerraum<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Einen echten eigenen Server, der im Computerraum l\u00e4uft, k\u00f6nnte man in Java vielleicht programmieren. Aber wahrscheinlich ist das doch zu schwer, au\u00dferdem blockieren die Sicherheitseinstellungen im Computerraum ohnehin die Verbindungen zwischen den Rechnern.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Ein echter eigener Server im Internet<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Das ist sehr fehleranf\u00e4llig und nicht \u00fcberall m\u00f6glich. Also: leider nein.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Ein eigener Webserver im Internet<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Niemand<\/em> schreibt einen eigenen Webserver, aus gutem Grund.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Was geht: Eine Webseite, die Anfragen annimmt und auswertet<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Man schreibt eine Textseite, die PHP-Code enth\u00e4lt.<br>An diese Seite kann man GET-Anfragen stellen und erh\u00e4lt dann je nach den Werten f\u00fcr \u00fcbergebene Parameter unterschiedliche Antworten<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"http:\/\/dailyimage.de\/gedicht.php?autor=goethe\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/dailyimage.de\/gedicht.php?autor=goethe<\/a> &gt; ein Gedicht von Goethe<\/li>\n\n\n\n<li><a href=\"http:\/\/dailyimage.de\/gedicht.php?autor=droste\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/dailyimage.de\/gedicht.php?autor=droste<\/a> &gt; ein Gedicht von Droste-H\u00fclshoff<\/li>\n\n\n\n<li><a href=\"http:\/\/dailyimage.de\/gedicht.php?autor=droste\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/dailyimage.de\/gedicht.php?autor=droesthe<\/a> > unbekannter Wert, Fehlermeldung<\/li>\n\n\n\n<li><a href=\"http:\/\/dailyimage.de\/gedicht.php\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/dailyimage.de\/gedicht.php<\/a> oder <a href=\"http:\/\/dailyimage.de\/gedicht.php?autro=goethe\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/dailyimage.de\/gedicht.php?autro=goethe<\/a> &gt; fehlender Parameter, andere Fehlermeldung<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Wie soll die Seite hei\u00dfen? Es muss eine Textseite sein (kein Worddokument!), ohne Umlaute oder Sonderzeichen, alles klein geschrieben, mit <code>.php<\/code>  am Ende.<\/li>\n\n\n\n<li>Welchen Parameter soll es geben? Fang mit 1 Parameter an, sp\u00e4ter kannst du weitere hinzuf\u00fcgen.<\/li>\n\n\n\n<li>Welche sinnvollen <em>Werte<\/em> f\u00fcr den Parameter soll es geben? Fang mit 2 Beispielen an, sp\u00e4ter kannst du weitere hinzuf\u00fcgen.<\/li>\n\n\n\n<li>Wie soll die Webseite reagieren, wenn ein unbekannter Wert f\u00fcr einen korrekte Parameter \u00fcbergeben wird?<\/li>\n\n\n\n<li>Wie soll die Webseite reagieren, wenn der Parameter fehlt?<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n$input = $_REQUEST&#91;'autor'] ?? null;\n\nif ($input==null) {\n    echo \"Der Parameter fehlt.\";\n}\nelse if ($input==\"goethe\") {\n    echo \"Der Text eines Gedichts.\";\n}\nelse if ($input==\"droste\") {\n    echo \"Der Text eines anderen Gedichts\n}\nelse {\n    echo \"Von diesem Autor oder dieser Autorin gibt es kein Gedicht.\";\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn du 2 Parameter namens <code>groesse<\/code> und <code>art<\/code> hast, beginne:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n$input1 = $_REQUEST&#91;'groesse'] ?? null;\n$input2 = $_REQUEST&#91;'art'] ?? null;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">(Die Zeilen bedeuten: Wenn es einen Wert f\u00fcr den Parameter <code>groesse<\/code> gibt, dann speichere ihn in der Variablen <code>$input1<\/code>, sonst speichere dort den Wert <code>null<\/code>.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Variablenbezeichner <code>input<\/code>, <code>input1<\/code>, <code>input2<\/code> kannst du im Rahmen der geltenden Regeln beliebig w\u00e4hlen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Aufgabe<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Beantworte schriftlich die Fragen 1 bis 5 oben.<\/li>\n\n\n\n<li>Erstelle eine eigene PHP-Datei f\u00fcr unseren Webserver.<\/li>\n\n\n\n<li>Gib mir die PHP-Datei; ich lade sie dann auf den Webserve<\/li>\n\n\n\n<li>Teste die PHP-Datei im Browser (oder Client).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Fu\u00dfnote<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Auf XSS (Cross-Site-Scripting) hinweisen: Der \u00fcbergebene Parameterwert kann Schadcode enthalten, etwa aus Javascript bestehen. Wenn der dann einfach mit echo ausgegeben wird, hat man ein Problem. Deswegen muss man eigentlich noch die Werte vor dem Verwenden s\u00e4ubern und verd\u00e4chtige Zeichen entfernen,<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(Fortsetzung von hier.) Einen eigenen Server programmieren Was nicht gut geht Ein echter eigener Server im Computerraum Einen echten eigenen Server, der im Computerraum l\u00e4uft, k\u00f6nnte man in Java vielleicht programmieren. Aber wahrscheinlich ist das doch zu schwer, au\u00dferdem blockieren die Sicherheitseinstellungen im Computerraum ohnehin die Verbindungen zwischen den Rechnern. Ein echter eigener Server im [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[25],"tags":[227,233],"class_list":["post-69058","post","type-post","status-publish","format-standard","hentry","category-informatik","tag-informatik","tag-programmierprojekte"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/69058","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/comments?post=69058"}],"version-history":[{"count":3,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/69058\/revisions"}],"predecessor-version":[{"id":69085,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/69058\/revisions\/69085"}],"wp:attachment":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/media?parent=69058"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/categories?post=69058"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/tags?post=69058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}