When should I use `publishReplay` vs `shareReplay`? : <p>I already know that</p>

<ul>
<li><p><code>publish</code>  shares a single subscription  and also returns a <code>ConnectableObservable</code> ( so we have to <code>Connect()</code>)</p></li>
<li><p><code>Share()</code> is <code>publish().refcount()</code></p></li>
</ul>

<p>The <code>Replay</code> postfix is pretty obvious  , it returns its last emission/s.</p>

<p>Let's take for example an Angular http request with present AND future subscription :</p>

<pre><code>&lt;p&gt;{{ (person | async)?.id   }}&lt;/p&gt; //present markup

&lt;p *ngIf=”show”&gt;{{ (person | async)?.userId }}&lt;/p&gt; //future markup
</code></pre>

<p>If I don't want multiple <code>http</code> requests I can use : </p>

<p><code>publishReplay().Connect()</code></p>

<p>But I can also use : <code>shareReplay()</code> , but I'm sure that there is one here that is more correct to use than the other.</p>

<p><strong>Question :</strong></p>

<p>When should I use  <code>publishReplay</code> vs <code>shareReplay</code>  ? What will be the difference in terms of that Http present &amp; future request ?</p>

<p><sub>NB
Why there's not documentation about <code>shareReplay</code> ? 
</sub></p>
