TS: HTTP Status-Code für "Host nicht im DNS" und "Host antwortet nicht"

Hallo und guten Tag,

mal wieder ein doofe Frage...

Ich lasse per DOM-Parser und Head-Request ewig lange Linklisten aus einem Webkatalog durcharbeiten, ob es die Seiten überhaupt noch gibt.

WElchen Status müsste man denn eigentlich füe einen Status-Code einstanzen, wenn der Host nicht im DNS vorhanden ist oder wenn der Host zwar angemeldet ist, aber keine Antwort sendet? Der Host selber liefert ja keinen, so dass dass meistens das Timeout von head_request() (Socket-Timeout) zuschlägt. Da liefert meine Funktion mir dann nur "false".

Grüße
TS

--
es wachse der Freifunk
http://freifunk-oberharz.de
  1. Tach!

    WElchen Status müsste man denn eigentlich füe einen Status-Code einstanzen, wenn der Host nicht im DNS vorhanden ist oder wenn der Host zwar angemeldet ist, aber keine Antwort sendet? Der Host selber liefert ja keinen, so dass dass meistens das Timeout von head_request() (Socket-Timeout) zuschlägt. Da liefert meine Funktion mir dann nur "false".

    Ein Proxy könnte einen liefern. Aber eine Anwendung, die keinen Connect bekommt, liefert keinen HTTP-Status-Code, weil HTTP noch gar nicht zum Zuge gekommen ist, wenn es bereits an der Namensauflösung scheitert.

    dedlfix.

    1. Hallo und guten Tag,

      WElchen Status müsste man denn eigentlich füe einen Status-Code einstanzen, wenn der Host nicht im DNS vorhanden ist oder wenn der Host zwar angemeldet ist, aber keine Antwort sendet? Der Host selber liefert ja keinen, so dass dass meistens das Timeout von head_request() (Socket-Timeout) zuschlägt. Da liefert meine Funktion mir dann nur "false".

      Ein Proxy könnte einen liefern. Aber eine Anwendung, die keinen Connect bekommt, liefert keinen HTTP-Status-Code, weil HTTP noch gar nicht zum Zuge gekommen ist, wenn es bereits an der Namensauflösung scheitert.

      Darum frage ich ja, welchen Code meine Funktion am ehesten liefern müsste in den beiden beschriebenen Fällen. Dass es dann nicht wirklich ein HTTP-Status-Code ist, ist mir klar.

      "Host not found" ==> ?
      "No Response" ==> 444. Das hat sich laut Wikipedia die NGINX-Gemeinde schon ausgedacht...

      Ich müsste fsockopen() vermutlich ohnehin noch aufbohren oder ein gethostbyname() vorschalten, ob der Host überhaupt eine Adresse hat.

      Grüße
      TS

      --
      es wachse der Freifunk
      http://freifunk-oberharz.de
      1. Darum frage ich ja, welchen Code meine Funktion am ehesten liefern müsste in den beiden beschriebenen Fällen. Dass es dann nicht wirklich ein HTTP-Status-Code ist, ist mir klar.

        Von Wikipedia:

        502 Bad Gateway
        The server was acting as a gateway or proxy and received an invalid response from the upstream server.

        504 Gateway Time-out
        The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.

  2. Hallo und guten Tag,

    mal wieder ein doofe Frage...

    Ich lasse per DOM-Parser und Head-Request ewig lange Linklisten aus einem Webkatalog durcharbeiten, ob es die Seiten überhaupt noch gibt.

    WElchen Status müsste man denn eigentlich füe einen Status-Code einstanzen, wenn der Host nicht im DNS vorhanden ist oder wenn der Host zwar angemeldet ist, aber keine Antwort sendet? Der Host selber liefert ja keinen, so dass dass meistens das Timeout von head_request() (Socket-Timeout) zuschlägt. Da liefert meine Funktion mir dann nur "false".

    Immer dann wenn was zu Automatisieren ist, denke ich über Custom-HTTP-Header nach. Ansonsten erheben Exceptions in Anwendungen den Anspruch, einen Status 502 senden zu dürfen.

    MfG