I know it is over 3 years old, but very, very helpful. With the combination of this and https://perso.citi-lab.fr/sdalu/sysadmin/dnsmasq/, I was able to setup my dnsmasq (pihole) as the dhcp server, which has to provide all of these urls. I would love to see an up2date/exhaustive version of this list.
For reference, this is what I ended up with:
# /etc/dnsmasq.d/90-pxe-boot.conf
# mass server at 192.168.1.111
# Interface: bios, uefi, uboot, open-firmware, epapr, opal
dhcp-match=set:bios, option:client-arch, 0
dhcp-match=set:bios, option:client-arch, 20
dhcp-match=set:uefi, option:client-arch, 6
dhcp-match=set:uefi, option:client-arch, 7
dhcp-match=set:uefi, option:client-arch, 9
dhcp-match=set:uefi, option:client-arch, 10
dhcp-match=set:uefi, option:client-arch, 11
dhcp-match=set:uefi, option:client-arch, 15
dhcp-match=set:uefi, option:client-arch, 16
dhcp-match=set:uefi, option:client-arch, 17
dhcp-match=set:uefi, option:client-arch, 18
dhcp-match=set:uefi, option:client-arch, 19
dhcp-match=set:uefi, option:client-arch, 25
dhcp-match=set:uefi, option:client-arch, 26
dhcp-match=set:uefi, option:client-arch, 27
dhcp-match=set:uefi, option:client-arch, 28
dhcp-match=set:uefi, option:client-arch, 29
dhcp-match=set:uefi, option:client-arch, 30
dhcp-match=set:uefi, option:client-arch, 33
dhcp-match=set:uefi, option:client-arch, 34
dhcp-match=set:uefi, option:client-arch, 35
dhcp-match=set:uefi, option:client-arch, 36
dhcp-match=set:uboot, option:client-arch, 21
dhcp-match=set:uboot, option:client-arch, 22
dhcp-match=set:uboot, option:client-arch, 23
dhcp-match=set:uboot, option:client-arch, 24
dhcp-match=set:open-firmware, option:client-arch, 12
dhcp-match=set:epapr, option:client-arch, 13
dhcp-match=set:opal, option:client-arch, 14
# Architecture: i386, x86_64, efi_bytecode, arm_32, arm_64,
# powerpc, riscv_32, riscv_64, riscv_128,
# s390_basic, s390_extended, mips_32, mips_64,
# sunway_32, sunway_64
dhcp-match=set:i386, option:client-arch, 0
dhcp-match=set:i386, option:client-arch, 6
dhcp-match=set:i386, option:client-arch, 15
dhcp-match=set:i386, option:client-arch, 20
dhcp-match=set:x86_64, option:client-arch, 7
dhcp-match=set:x86_64, option:client-arch, 16
dhcp-match=set:efi_bytecode, option:client-arch, 9
dhcp-match=set:efi_bytecode, option:client-arch, 17
dhcp-match=set:arm_32, option:client-arch, 10
dhcp-match=set:arm_32, option:client-arch, 18
dhcp-match=set:arm_32, option:client-arch, 21
dhcp-match=set:arm_32, option:client-arch, 23
dhcp-match=set:arm_64, option:client-arch, 11
dhcp-match=set:arm_64, option:client-arch, 19
dhcp-match=set:arm_64, option:client-arch, 22
dhcp-match=set:arm_64, option:client-arch, 24
dhcp-match=set:powerpc option:client-arch, 12
dhcp-match=set:powerpc option:client-arch, 13
dhcp-match=set:powerpc option:client-arch, 14
dhcp-match=set:riscv_32, option:client-arch, 25
dhcp-match=set:riscv_32, option:client-arch, 26
dhcp-match=set:riscv_64, option:client-arch, 27
dhcp-match=set:riscv_64, option:client-arch, 28
dhcp-match=set:riscv_128, option:client-arch, 29
dhcp-match=set:riscv_128, option:client-arch, 30
dhcp-match=set:s390_basic, option:client-arch, 31
dhcp-match=set:s390_extended, option:client-arch, 32
dhcp-match=set:mips_32, option:client-arch, 33
dhcp-match=set:mips_64, option:client-arch, 34
dhcp-match=set:sunway_32, option:client-arch, 35
dhcp-match=set:sunway_64, option:client-arch, 36
# Client: pxe, http
dhcp-vendorclass=set:pxe, PXEClient
dhcp-vendorclass=set:http, HTTPClient
dhcp-match=set:http, option:client-arch, 15
dhcp-match=set:http, option:client-arch, 16
dhcp-match=set:http, option:client-arch, 17
dhcp-match=set:http, option:client-arch, 18
dhcp-match=set:http, option:client-arch, 19
dhcp-match=set:http, option:client-arch, 20
dhcp-match=set:http, option:client-arch, 23
dhcp-match=set:http, option:client-arch, 24
dhcp-match=set:http, option:client-arch, 26
dhcp-match=set:http, option:client-arch, 28
dhcp-match=set:http, option:client-arch, 30
dhcp-userclass=set:freebsd, FreeBSD # FreeBSD `loader.efi`
dhcp-userclass=set:ipxe, iPXE # iPXE
dhcp-match=set:ipxe, 175
dhcp-option-force=tag:http,60,HTTPClient
# By default load the iPXE implementation
# - from PXEClient
dhcp-boot=tag:pxe, tag:uefi,tag:i386, lpxelinux.0 ,,192.168.1.111
dhcp-boot=tag:pxe, tag:uefi,tag:x86_64,bootx64.efi ,,192.168.1.111
dhcp-boot=tag:pxe, tag:bios, lpxelinux.0 ,,192.168.1.111
# - from HTTPClient
dhcp-boot=tag:http,tag:uefi,tag:i386, http://192.168.1.111:5248/pxelinux.cfg/default
dhcp-boot=tag:http,tag:uefi,tag:x86_64,http://192.168.1.111:5248/grub/grub.cfg-default-amd64
dhcp-boot=tag:http,tag:bios, http://192.168.1.111:5248/pxelinux.cfg/default
# TODO raspberry
# https://discourse.maas.io/t/maas-internal-urls/176
EDIT: HTTP boot in MAAS was also very helpful