Question: What we need:
=============

My team is maintaining and adding features to a product that's already in production. We are trying to figure out how to improve our deployment strategy so that we can begin deploying one feature at-a-time instead of large chunks of features. Ideally, when a feature passes QA and Business Acceptance, we would like to deploy JUST that feature to production (at any time). 

What we are doing now: (that doesn't work)
==========================================

We are already following the concept of "Branch per Feature". Right now, we are creating new feature branches off of our development branch. When we are finished with a feature, we create a pull-request back to the dev branch. That pull request looks GREAT... it only has the changes that are relevant to the feature. After code-review, the branch is merged into dev master (and deployed to dev) and QA takes a look. Once QA approves the feature, we merge the original feature branch into the staging branch (and deploy to staging). Once the business accepts the new feature, the original feature branch is merged into production. Our problem is that the original feature branch seems to snowball by the time it gets to production with many changes that don't seem relevant to the feature branch. In the end, we have deployed to production many things that were not QAed or accepted by the business.

Answer: 
My guess is that your URL is malformed.

Here's what the 400 code [means](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).

"The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications."
I assume that file loads directly to Your browser. Check with CURL and spoof user-agent to one from Your browser. Try also to enable cookie feature.

here's some example: <http://www.electrictoolbox.com/php-curl-user-agent/>