Sachverhalt: Sachverhalt: A. X._, der aus der Dominikanischen Republik stammt, wurde am 28. März 2004 in Zürich wegen Verdachts der Widerhandlung gegen das Betäubungsmittelgesetz festgenommen und mit Verfügung der Haftrichterin des Bezirksgerichts Zürich vom 31. März 2004 in Untersuchungshaft versetzt. Am 18. Juni 2004 stellte er ein Gesuch um Haftentlassung. Mit Verfügung vom 23. Juni 2004 wies der Haftrichter das Gesuch ab und erstreckte die Haft bis zum 31. Juli 2004. A. X._, der aus der Dominikanischen Republik stammt, wurde am 28. März 2004 in Zürich wegen Verdachts der Widerhandlung gegen das Betäubungsmittelgesetz festgenommen und mit Verfügung der Haftrichterin des Bezirksgerichts Zürich vom 31. März 2004 in Untersuchungshaft versetzt. Am 18. Juni 2004 stellte er ein Gesuch um Haftentlassung. Mit Verfügung vom 23. Juni 2004 wies der Haftrichter das Gesuch ab und erstreckte die Haft bis zum 31. Juli 2004. B. Gegen diesen Entscheid reichte X._ am 15. Juli 2004 beim Bundesgericht staatsrechtliche Beschwerde ein. Er beantragt, die angefochtene Verfügung sei aufzuheben und er sei unverzüglich aus der Untersuchungshaft zu entlassen, eventuell unter Anordnung einer Ersatzmassnahme. Ausserdem ersucht er um Gewährung der unentgeltlichen Rechtspflege für das bundesgerichtliche Verfahren. B. Gegen diesen Entscheid reichte X._ am 15. Juli 2004 beim Bundesgericht staatsrechtliche Beschwerde ein. Er beantragt, die angefochtene Verfügung sei aufzuheben und er sei unverzüglich aus der Untersuchungshaft zu entlassen, eventuell unter Anordnung einer Ersatzmassnahme. Ausserdem ersucht er um Gewährung der unentgeltlichen Rechtspflege für das bundesgerichtliche Verfahren. C. Die Bezirksanwaltschaft Zürich stellt in ihrer Vernehmlassung vom 26. Juli 2004 den Antrag, die Beschwerde sei abzuweisen. Der Haftrichter verzichtete auf eine Vernehmlassung. C. Die Bezirksanwaltschaft Zürich stellt in ihrer Vernehmlassung vom 26. Juli 2004 den Antrag, die Beschwerde sei abzuweisen. Der Haftrichter verzichtete auf eine Vernehmlassung. D. In einer Replik vom 3. August 2004 nahm X._ zur Beschwerdeantwort der Bezirksanwaltschaft Stellung. 