Adresy sieciowe w testach i dokumentacji

Ostatnio w języku Go zgłoszono ciekawy błąd. Mianowicie URL użyty w przykładach prowadził do Chińskiej strony pornograficznej. W tym artykule opiszę jak się przed tym obronić.

Domeny

Jeżeli koniecznie potrzebujesz użyć domeny to najlepszym rozwiązaniem jest 

  • example.com
  • example.org
  • example.net

Te trzy domeny są stworzone do właśnie do tego celu o czym można przeczytać w RFC 2606 i RFC 6761

Jeśli potrzebujesz domeny wyższego poziomu to do tego celu użyj

  • .test
  • .example
  • .invalid
  • .localhost

Myślę, że ich nazwy same opisują do jakich kiedy ich użyć ale zawsze warto zerknąć do RFC.

Jeśli bardzo potrzeba może też być inna domena zaufania publicznego np. google.com albo po prostu domena do której masz prawa (firmy w której pracujesz, projektu czy bloga). Unikaj domen, których nie kontrolujesz w szczególności tych jeszcze nie zarejestrowanych. To kwestia czasu zanim jakiś robot nie znajdzie Twojego kodu i nie wykupi domeny.

Oczywiście jeśli publikujesz przykład który ma działać albo przykładową konfigurację to warto skorzystać z takich danych które mają sens. Np jeśli piszesz scraper do jakiegoś serwisu to bez sensu jest korzystać z example.com bo to może tylko wprowadzić użytkowania w błąd.

Jeśli potrzebujesz domeny UTF-8 to możesz skorzystać z listy dostępnej na stronie IANA.

IP

Tak samo jak w przypadku domen, adresy IP również mają zarezerwowaną pulę do dokumentacji. Jest ona opisana w RFC-3330 i zawiera adresy z puli 192.0.2.0/24. Jeśli potrzeba IPv6 to jest ich znacznie więcej bo 2001:db8::/32 a dokładny opis znajduje się w RFC-3849


Leave a Reply