Sehr schwierig. URLs werden, da sie für (La)TeX sonst "besondere" Zeichen wie
~,
#,
_,
\ beinhalten können, normalerweise so behandelt (gelesen und ausgegeben), dass sie in der Praxis keine Makros oder andere Funktionen beinhalten können. Das heißt, dass Du nicht einfach irgendetwas in eine URL reinschreiben kannst, das dann einen Makro-Effekt hat.
Wenn die URL manuell eingibst, kannst Du Dich da drumherumwurmen, indem Du
\href mit Ausgabemakros kombinierst (gezeigt in
https://tex.stackexchange.com/a/591556/35864 da sogar in der
.bib-Datei, aber das finde ich semantisch sehr unschön). Bei Literaturverzeichnissen etc. ist das nicht ganz so einfach, da Du da ja nicht von Fall zu Fall in die Ausgabe eingreifen kannst.
Tatsächlich kannst Du etwas tricksen wie in
https://tex.stackexchange.com/a/570036/35864 gezeigt. Aber das klappt nur, wenn es ein Zeichen gibt, das garantiert nicht in einer URL vorkommt.
Ich würde diese ganzen Tricks nicht versuchen. Sieh Dir mal
https://tex.stackexchange.com/q/442308/35864 an. Da gibt es eine Reihe von allgemeinen Tricks, die die Umbrüche im Literaturverzeichnis ändern können, und auch ein paar konkrete Hinweise zu URLs bis hin zum
xurl-Paket, das Umbrüche überall in der URL erlaubt (dann aber auch innerhalb von erkennbaren Worten ohne Rücksicht auf Verluste).