Hallo.
Client kontaktiert also Server. Client setzt Post oder Head Kommando ein. Server unterstuetzt die Befehle nicht. Gibt also passende 501 Fehlermeldung aus.
Hier der Server Code.
"Wenn mit 501 geantwortet wird, so sollte die angefragte Ressource nicht gesendet werden." Angeblich aber bei mir doch. Weiss auch nicht wie ich das testen koennte.
Liest die erste Zeile ein.
Schaut ob die erste Zeile Head oder Post Kommando enthaelt:
Wenn eins dieser Kommandos enthaelt, wird also die Variable posthead auf true gestellt.
Hier lasse ich dann die betreffende Fehlermeldung wiedergeben.
Oder liegt es wieder am Objekt Fehler. Also dass ich immer das gleiche Objekt beabreite? Dass ich die Zeile zu weit gelesen habe?
Vorher im Code kam das hier: Wenn ich das GET uebersprungen habe, habe ich dann auch spaeter das HEAD/POST uebersprungen?
Client kontaktiert also Server. Client setzt Post oder Head Kommando ein. Server unterstuetzt die Befehle nicht. Gibt also passende 501 Fehlermeldung aus.
Hier der Server Code.
"Wenn mit 501 geantwortet wird, so sollte die angefragte Ressource nicht gesendet werden." Angeblich aber bei mir doch. Weiss auch nicht wie ich das testen koennte.
Liest die erste Zeile ein.
Java:
String requestLine = br.readLine(); // Zeile vom Socket lesen
Schaut ob die erste Zeile Head oder Post Kommando enthaelt:
Java:
if (requestLine.contains("HEAD")) { // true stellen spaeter passende nachricht
posthead = true;
}
if (requestLine.contains("POST")) {
posthead = true;
}
Wenn eins dieser Kommandos enthaelt, wird also die Variable posthead auf true gestellt.
Hier lasse ich dann die betreffende Fehlermeldung wiedergeben.
Java:
if (posthead) {
statusLine = "HTTP/1.0 501 Not Implemented" + CRLF; // so muss es formuliert werden
contentTypeLine = "Content-type: " + "text/html" + CRLF; // weil darunter html code folgt
entityBody = "<HTML>" +
"<HEAD><TITLE>Head u Post nicht erlaubt</TITLE></HEAD>" + // fehlermeldung client head u post
"<BODY>Head u Post nicht erlaubt</BODY></HTML>";
Oder liegt es wieder am Objekt Fehler. Also dass ich immer das gleiche Objekt beabreite? Dass ich die Zeile zu weit gelesen habe?
Vorher im Code kam das hier: Wenn ich das GET uebersprungen habe, habe ich dann auch spaeter das HEAD/POST uebersprungen?
Java:
// Extract the filename from the request line.
StringTokenizer tokens = new StringTokenizer(requestLine); // zeile aufgespalten
tokens.nextToken(); // ueberspringen das Token das GET enhaelt
String fileName = tokens.nextToken(); // Dateinamen u Ort den Client haben will
Zuletzt bearbeitet von einem Moderator: