Kuyruk bir akıştan daha yüksek bir kavramdır. Bir kuyruğun temel elemanları , tüketici tarafından kendi başına yorumlanabilen tutarlı (genellikle yazılan) bir veri yapısı olan bir mesaj / nesnedir. Öte yandan, bir akışın tabanında , kendi başına, genellikle uygulama için anlamsız olan (genellikle sabit boyutlu) bitler / bayt / karakterler vardır. Bu karakterlerin bir dizisi bir "mesaj" oluşturabilir, ancak bir akış API'sı karakter dizisini anlamlı parçalara ayırmak için uygulamaya bırakır.
Akış arabellekleri doluysa ve diğer taraf okuma / yazma yapmıyorsa, bir Akış API'sı genellikle kısmi okuma ve yazma işlemlerine de izin verir; kuyrukları işleyen uygulamalar genellikle kuyruğun bunları dahili olarak işlemesini bekler.
Akışın üzerine bir kuyruk uygulanabilir, bu mesaj çerçeveleme uygulanarak yapılır. Örneğin, TCP bir akış arabirimi sağlar, HTTP TCP'nin üzerine inşa edilir ve İçerik Uzunluğu / yığın aktarım kodlaması kullanarak mesaj çerçeveleme ekler. Bir HTTP Bağlantı API'sinin kullanıcılarının HTTP bağlantı akışını HTTP isteklerine bölmekten soyutlanır.
Öte yandan, genellikle, mesaj çerçevesinin işlenmesi gereksiz ek yük eklediğinden, bir akış API'sini sıranın üzerine uygulamak daha az mantıklıdır.