Ist der Benutzeragent in der HTTP-Anfrage nicht vorhanden?

8

Wir haben festgestellt, dass wir von Zeit zu Zeit eine HTTP-Anfrage ohne eine gültige User-Agent-Zeichenfolge erhalten. Gibt es einen gültigen praktischen Fall für die Annahme dieser Art von HTTP-Anfrage?

d. Warum blockieren wir nicht automatisch alle IPs, von denen diese Art von Anfrage empfangen wird?

UPDATE Meine Intention mit dem Ausdruck "real-world" sollte zeigen, dass ich nicht danach frage, was technisch passieren kann oder was nicht. Natürlich ist es möglich, HTTP-Anfragen ohne Header zu senden. Ich frage mich, welchen "realen" Fall Sie haben würden, um diese Art von HTTP-Anfrage in Ihren Server zu erlauben.

    
Jacob 17.06.2014, 23:15
quelle

2 Antworten

6

Ich nehme an, dass viele Leute HTTP-Anfragen ohne einen User-Agent verwenden, meistens wenn sie eine API benutzen, um die Anfrage auszuführen.

    
Alwin 17.06.2014, 23:18
quelle
8

Wie in RFC 7231 angegeben (Aber fast derselbe Absatz findet sich in RFC2616 ):

  

5.5.3 Benutzer-Agent

     

Das Headerfeld "User-Agent" enthält Informationen über den User Agent, der die Anfrage ausgelöst hat,   Dies wird häufig von Servern verwendet, um den Umfang der gemeldeten Interoperabilitätsprobleme zu ermitteln.   um Antworten zu umgehen oder anzupassen, um bestimmte Benutzeragenteneinschränkungen zu vermeiden, und für Analysen   in Bezug auf Browser oder Betriebssystem verwenden. Ein User-Agent SOLLTE ein User-Agent-Feld in jedem senden   Anfrage, sofern nicht speziell konfiguriert, dies nicht zu tun.

Das Schlüsselwort hier ist SOLL. Und ja, es gibt einen RFC, der definiert, was dieses Wort bedeuten soll, RFC 2119 :

  
  1. SOLLTE Dieses Wort oder das Adjektiv "EMPFOHLEN" bedeuten, dass dort   Unter bestimmten Umständen kann es Gründe geben, einen zu ignorieren   bestimmter Artikel, aber die vollständigen Auswirkungen müssen verstanden werden und   sorgfältig abgewogen, bevor Sie einen anderen Kurs wählen.
  2.   

Obwohl also die Agenten, die den User-Agent nicht senden, nicht dem folgen, was als Best Practice angesehen werden kann, verstoßen sie gegen keine Regel (rfc). Also, meiner Meinung nach gibt es keinen wirklich technischen Grund, sie zu blockieren.

    
fvu 17.06.2014 23:22
quelle

Tags und Links