<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/zeit/next.js/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h2 dir="auto">Expected Behavior</h2>


<p dir="auto">If a user happens to request an old bundle resource with an old hash, the response should 404, not 500.</p>
<h2 dir="auto">Current Behavior</h2>


<p dir="auto">I'm currently running a Next.js app at <a href="https://www.tenable.com/plugins" rel="nofollow">https://www.tenable.com/plugins</a> and I'm getting quite a few 500 errors in my logs after I deploy a new version that has a new hash from the build (I'm using sticky sessions to minimize the disruption, but still see some errors long after the deploy).</p>
<h2 dir="auto">Steps to Reproduce (for bugs)</h2>


<p dir="auto"><strong>200</strong> -&gt; <a href="https://custom-server-koa-wxksegmzhf.now.sh/_next/7c048a193f99703d6180e88866b6e06b/app.js" rel="nofollow">https://custom-server-koa-wxksegmzhf.now.sh/_next/7c048a193f99703d6180e88866b6e06b/app.js</a></p>
<p dir="auto"><strong>500 Internal server error</strong> -&gt; <a href="https://custom-server-koa-wxksegmzhf.now.sh/_next/OLD_HASH_VALUE/app.js" rel="nofollow">https://custom-server-koa-wxksegmzhf.now.sh/_next/OLD_HASH_VALUE/app.js</a></p>
<p dir="auto">Source code area of interest: <a href="https://github.com/zeit/next.js/blob/1aade36f13e03db13d23f86dc52a459f9a29e03d/server/index.js#L467">https://github.com/zeit/next.js/blob/1aade36f13e03db13d23f86dc52a459f9a29e03d/server/index.js#L467</a></p>
<h2 dir="auto">Context</h2>


<p dir="auto">Just trying to minimize the number of unneeded 500 errors <g-emoji class="g-emoji" alias="smile" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f604.png">😄</g-emoji></p>
<p dir="auto">Appreciate all your work and effort!</p>
<h2 dir="auto">Your Environment</h2>

<table role="table">
<thead>
<tr>
<th>Tech</th>
<th>Version</th>
</tr>
</thead>
<tbody>
<tr>
<td>next</td>
<td>canary</td>
</tr>
<tr>
<td>node</td>
<td>8.9</td>
</tr>
<tr>
<td>OS</td>
<td>macOS, node docker</td>
</tr>
<tr>
<td>browser</td>
<td></td>
</tr>
<tr>
<td>etc</td>
<td></td>
</tr>
</tbody>
</table>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/zeit/next.js/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h2 dir="auto">Expected Behavior</h2>
<p dir="auto">It would be great if you could access "previousProps" when rendering page client-side.</p>
<h2 dir="auto">Current Behavior</h2>
<p dir="auto">Currently getInitialProps passes "req" to function when the page is rendered server-side. In the req I'm receiving some site-specific data. Then, when navigation occurs (via router), getInitialProps is runned on client-side without req object and application has to make special ajax request just to download those site data again.</p>
<h2 dir="auto">Context</h2>
<p dir="auto">Obviously it feels very redundant to make this kind of request for some site data (I need to pass to graphql queries for instance) every-single-time when user navigates from one page to another. That's why it would be very useful to recall them when rendering page in browser. Or to store them someplace when rendering page first time on server (but I guess that's technologically not possible).</p>
<p dir="auto">If there's already way to achieve that, I would appreciate link, but I wasn't been able to find a solution or related issues at all.</p>
<p dir="auto">Thank you,<br>
David</p>