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.

Das Bundesgericht zieht in Erwägung:
Das Bundesgericht zieht in Erwägung:
1. 1.1 Die staatsrechtliche Beschwerde richtet sich gegen die Verfügung des Haftrichters vom 23. Juni 2004, mit der das Haftentlassungsgesuch des Beschwerdeführers vom 18. Juni 2004 abgewiesen und die Untersuchungshaft bis zum 31. Juli 2004 erstreckt wurde. Nachdem die Bezirksanwaltschaft am 22. Juli 2004 gegen den Beschwerdeführer Anklage erhoben hatte, ordnete der Haftrichter mit Verfügung vom 28. Juli 2004 die Sicherheitshaft an. Der Beschwerdeführer befindet sich somit weiterhin in Haft und hat demzufolge nach wie vor ein aktuelles praktisches Interesse an der Überprüfung des angefochtenen Entscheids (Art. 88 OG).
1.2 Mit einer staatsrechtlichen Beschwerde, die sich gegen die Fortdauer der Haft richtet, kann in Abweichung vom Grundsatz der kassatorischen Natur der Beschwerde nicht nur die Aufhebung des angefochtenen Entscheids, sondern ausserdem die Entlassung aus der Haft, allenfalls unter Anordnung einer Ersatzmassnahme, verlangt werden (<ref-ruling> E. 4b/aa S. 332 f.; <ref-ruling> E. 1a S. 297, je mit Hinweisen). Die mit der vorliegenden Beschwerde gestellten Anträge sind daher zulässig.
1.2 Mit einer staatsrechtlichen Beschwerde, die sich gegen die Fortdauer der Haft richtet, kann in Abweichung vom Grundsatz der kassatorischen Natur der Beschwerde nicht nur die Aufhebung des angefochtenen Entscheids, sondern ausserdem die Entlassung aus der Haft, allenfalls unter Anordnung einer Ersatzmassnahme, verlangt werden (<ref-ruling> E. 4b/aa S. 332 f.; <ref-ruling> E. 1a S. 297, je mit Hinweisen). Die mit der vorliegenden Beschwerde gestellten Anträge sind daher zulässig.
2. Der Beschwerdeführer macht geltend, der angefochtene Entscheid verletze das Recht auf persönliche Freiheit. Er beruft sich dabei auf <ref-law> und Art. 5 Ziff. 1 lit. c EMRK.
2.1 Bei staatsrechtlichen Beschwerden, die gestützt auf das verfassungsmässige Recht der persönlichen Freiheit wegen der Ablehnung eines Haftentlassungsgesuchs erhoben werden, prüft das Bundesgericht im Hinblick auf die Schwere des Eingriffs die Auslegung und Anwendung des entsprechenden kantonalen Rechts frei. Soweit jedoch reine Sachverhaltsfeststellungen und damit Fragen der Beweiswürdigung zu beurteilen sind, greift das Bundesgericht nur ein, wenn die tatsächlichen Feststellungen der kantonalen Instanz willkürlich sind (<ref-ruling> E. 2.1 S. 186; <ref-ruling> E. 3a S. 35, je mit Hinweisen). Die vom Beschwerdeführer ebenfalls angerufene Vorschrift von Art. 5 EMRK geht ihrem Gehalt nach nicht über den verfassungsmässigen Anspruch auf persönliche Freiheit hinaus. Indessen berücksichtigt das Bundesgericht bei der Konkretisierung dieses Anspruchs auch die Rechtsprechung der Konventionsorgane (<ref-ruling> E. 3 S. 282 f. mit Hinweisen).
2.2 Die Freiheit darf einer Person nur in den vom Gesetz selbst vorgesehenen Fällen und nur auf die im Gesetz vorgeschriebene Weise entzogen werden (<ref-law>). Gemäss § 58 Abs. 1 der Strafprozessordnung des Kantons Zürich (StPO) ist die Anordnung oder Aufrechterhaltung der Untersuchungshaft zulässig, wenn der Angeschuldigte eines Verbrechens oder Vergehens dringend verdächtigt wird und überdies Flucht-, Kollusions- oder Fortsetzungsgefahr besteht. Ausserdem darf die Haft nicht länger dauern als die zu erwartende Freiheitsstrafe (<ref-law>).
Der Haftrichter war der Auffassung, im vorliegenden Fall seien der dringende Tatverdacht sowie Kollusions- und Fluchtgefahr gegeben; zudem erweise sich die Fortdauer der Haft als verhältnismässig.
Der Beschwerdeführer bestreitet nicht, dass ein dringender Tatverdacht gegeben ist. Er macht jedoch geltend, es bestehe weder Kollusions- noch Fluchtgefahr, weshalb es "an der gesetzlichen Grundlage für die Fortführung der Haft" fehle.
2.3 Nach der Rechtsprechung des Bundesgerichts braucht es für die Annahme der Fluchtgefahr eine gewisse Wahrscheinlichkeit, dass sich der Angeschuldigte, wenn er in Freiheit wäre, der Strafverfolgung und dem Vollzug der Strafe durch Flucht entziehen würde. Die Schwere der drohenden Strafe darf als ein Indiz für Fluchtgefahr gewertet werden. Sie genügt jedoch für sich allein nicht, um den Haftgrund zu bejahen. Vielmehr müssen die konkreten Umstände des betreffenden Falles, insbesondere die gesamten Verhältnisse des Angeschuldigten, in Betracht gezogen werden (<ref-ruling> E. 3a S. 62; <ref-ruling> E. 4a S. 70, je mit Hinweisen).
Dem Beschwerdeführer wird zur Last gelegt, er habe in der Zeit zwischen August 2003 und dem 28. März 2004 in der Region Zürich Y._ 170 g Kokain zwecks Weitergabe geliefert und am 28. März 2004 weitere 240 g Kokain zwecks Einführung in den Drogenhandel besessen. Die Bezirksanwaltschaft beantragt in der Anklageschrift, der Beschwerdeführer sei des "Verbrechens gegen das Betäubungsmittelgesetz im Sinne von Art. 19 Ziff. 1 Abs. 4 und 5 BetmG in Verbindung mit <ref-law>" schuldig zu sprechen und mit 2 1⁄2 Jahren Zuchthaus zu bestrafen. Der Beschwerdeführer hätte somit im Falle eines Schuldspruchs eine empfindliche Freiheitsstrafe zu gewärtigen. Es kann ohne Verletzung der Verfassung angenommen werden, mit Rücksicht auf die drohende Strafe bestehe ein erheblicher Anreiz zur Flucht.
Hinsichtlich der persönlichen Verhältnisse wird im angefochtenen Entscheid ausgeführt, der Beschwerdeführer, welcher Staatsangehöriger der Dominikanischen Republik ist, verfüge zwar über einen festen Wohnsitz in der Schweiz und über eine Niederlassungsbewilligung. Er habe aber in seinem Heimatland verschiedene Familienmitglieder (Mutter, Geschwister, Kinder), weshalb er zu diesem Land einen engen Bezug habe. Ausserdem habe er in seinem Heimatland ein Haus, das nach seinen eigenen Angaben für ihn und seine Familie bestimmt sei. Sodann sei der Beschwerdeführer seit einiger Zeit arbeitslos. In Anbetracht dieser Umstände war der Haftrichter der Ansicht, auch aufgrund der persönlichen Verhältnisse des Beschwerdeführers bestünden gewichtige Indizien für eine Fluchtgefahr. Diese Auffassung ist sachlich vertretbar. In der staatsrechtlichen Beschwerde wird nichts vorgebracht, was geeignet wäre, die angeführten Feststellungen des Haftrichters als verfassungswidrig erscheinen zu lassen. Werden die gesamten Verhältnisse des Beschwerdeführers in Betracht gezogen, so verletzte der Haftrichter die Verfassung und die EMRK nicht, wenn er den Haftgrund der Fluchtgefahr bejahte.
2.4 Der Beschwerdeführer kritisiert die Erwägungen, mit denen der Haftrichter das Vorliegen von Kollusionsgefahr begründete. Er beklagt sich in diesem Zusammenhang auch darüber, dass er im Vergleich zur Mitbeschuldigten Z._ rechtsungleich behandelt worden sei.
Eine Prüfung dieser Rügen erübrigt sich, da - wie dargelegt - der Haftgrund der Fluchtgefahr bejaht werden durfte und es für die Fortdauer der Haft genügt, wenn ein einziger besonderer Haftgrund (neben der allgemeinen Haftvoraussetzung des dringenden Tatverdachts) gegeben ist.
Zum Vorwurf der Verletzung der Rechtsgleichheit ist hier lediglich zu bemerken, dass die tatsächlichen Verhältnisse in den Fällen verschiedener Angeschuldigter kaum je genau identisch sind und der Beschwerdeführer nicht darzutun vermag, dass der von ihm angeführte Fall in jeder Hinsicht mit seinem Fall vergleichbar wäre.
2.5 Der Haftrichter hielt fest, eine Ersatzmassnahme komme nicht in Frage, weil der Beschwerdeführer keine Kaution leisten könne und da bei ausländischen Staatsangehörigen eine Pass- und Schriftensperre nicht erfolgversprechend angeordnet werden könne. Diese Überlegungen sind nicht zu beanstanden. Es lässt sich ohne Verletzung der Verfassung und der EMRK annehmen, im vorliegenden Fall vermöchte eine Ersatzmassnahme die Fluchtgefahr nicht ausreichend zu vermindern.
2.6 Die Aufrechterhaltung der Haft ist mit dem Grundsatz der Verhältnismässigkeit vereinbar, denn es kann nicht gesagt werden, die Haftdauer sei bereits in grosse Nähe der konkret zu erwartenden Strafe gerückt.
Nach dem Gesagten verletzte der Haftrichter das Grundrecht der persönlichen Freiheit nicht, wenn er das Haftentlassungsgesuch des Beschwerdeführers abwies. Die staatsrechtliche Beschwerde erweist sich als unbegründet und ist daher abzuweisen.
Nach dem Gesagten verletzte der Haftrichter das Grundrecht der persönlichen Freiheit nicht, wenn er das Haftentlassungsgesuch des Beschwerdeführers abwies. Die staatsrechtliche Beschwerde erweist sich als unbegründet und ist daher abzuweisen.
3. Dem Gesuch des Beschwerdeführers um Gewährung der unentgeltlichen Rechtspflege im Sinne von Art. 152 Abs. 1 und 2 OG kann mit Rücksicht auf die gesamten Umstände des Falles entsprochen werden.

Demnach erkennt das Bundesgericht:
Demnach erkennt das Bundesgericht:
1. Die staatsrechtliche Beschwerde wird abgewiesen.
1. Die staatsrechtliche Beschwerde wird abgewiesen.
2. Dem Beschwerdeführer wird die unentgeltliche Rechtspflege gewährt:
2.1 Es werden keine Kosten erhoben.
2.2 Rechtsanwalt Pablo Blöchlinger wird als amtlicher Anwalt des Beschwerdeführers bezeichnet und für das bundesgerichtliche Verfahren aus der Bundesgerichtskasse mit Fr. 1'800.-- entschädigt.
2.2 Rechtsanwalt Pablo Blöchlinger wird als amtlicher Anwalt des Beschwerdeführers bezeichnet und für das bundesgerichtliche Verfahren aus der Bundesgerichtskasse mit Fr. 1'800.-- entschädigt.
3. Dieses Urteil wird dem Beschwerdeführer, der Bezirksanwaltschaft Zürich, Büro Nr. C-1, und dem Bezirksgericht Zürich, Haftrichter, schriftlich mitgeteilt.
Lausanne, 10. August 2004
Im Namen der I. öffentlichrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Die Gerichtsschreiberin: