sipgate / sipgate.io

Create custom telephony integration solutions. Play audio files, manage your devices, reject the call, present dial tone menus or just create statistics. Adapt telephony to your business needs, control your home automation with your phone or just create that funny hack to make using the phone more enjoyable. @sipgate.io, https://twitter.com/sipgateio
https://www.sipgate.io
Other
200 stars 32 forks source link

Direkt mit HTTP-Auth pushen und zur Effizienz 401er-POST vermeiden #114

Closed danielberlin closed 7 years ago

danielberlin commented 7 years ago

Ich habe die API-Skripte per HTTP Auth geschützt und entsprechend https://htuser:htpass@myserver/ioscript als Push-URL eingetragen. Jetzt bin ich am Optimieren, da es tageszeit- und lastabhängig einige Pushs gibt, die nicht durchkommen (500 Internal Server Error oder 600 IO Error) und ich auch nicht genau weiß, ob der Flaschenhals bei mir oder auf Push-Seite ist.

Momentan sehe ich im Server-Log für jeden einzelnen Push zwei POST-Requests, zuerst einen, der von meinem Server mit 401 ("Authorization required") beantwortet wird, und dann direkt im Anschluss einen mit 200, der den eigentlichen Push enthält.

Wenn ich mit

curl -A "sipgate.io" -X POST --data $POST "https://htuser:htpass@myserver/ioscript" -D -

pushe, erhalte ich nur den 200er POST-Request ohne vorangehenden 401er.

D.h. man könnte 50% der HTTP-Verbindungen einsparen, wenn man bei Vorhandensein eines "@" im Feld Push-URL direkt entsprechend pushen würde, so wie es curl macht, anstatt ohne htuser:htpass@zu pushen. Ein Browser macht es so, aber der muss dem Benutzer ja auch das Loginfenster präsentieren. Der Push sollte so effizient wie möglich sein und das Passwort direkt mitpushen.

spcontent commented 7 years ago

Kurze Rückfrage an Daniel, wird hier überhaupt noch aktiv betreut von Sipgate?

fuglu commented 7 years ago

Wir würden Preemptive Authentication ungern erlauben. Wir orientieren uns da am Standardverhalten von Chrome, Firefox und unserem HTTP Client. Curl scheint offensichtlich standardmäßig Preemptive Authentication zu machen.