Przesyłanie plików odbywa się przy użyciu protokołu HTTP.

Obecnie prace nad protokołem Gnutelli prowadzi GDF (Gnutella Developer Forum). Wiele rozszerzeń protokołu zostało i nadal jest tworzonych przez producentów oprogramowania i niezależnych programistów Gnutelli z GDF. Do tych rozszerzeń należą dynamiczne przekierowywanie zapytań, sumy kontrolne SHA-1, przekazywanie odpowiedzi na zapytania przez protokół UDP, wysyłanie zapytań protokołem UDP, dynamiczne zapytania protokołem TCP, transfer plików przez protokół UDP, metadane w formacie XML, source exchange znane także jako „the download mesh” i równoległe ściąganie pliku w kawałkach (tzw. swarming).

Na serwerze prac rozwojowych czyni się wysiłki, aby włączyć te rozszerzenia do specyfikacji protokołu Gnutella wersji 0.6. Standard Gnutella 0.4, chociaż jest nadal ostatnią oficjalną wersją protokołu, to ponieważ wszystkie rozszerzenia funkcjonują jako propozycje zmian, jest przestarzała. W rzeczywistości prawie niemożliwe jest obecnie połączenie się, używając procedur inicjalizujących z wersji 0.4.