If you’re not using WordPress on MAMP/XAMP, you should look at this article instead:
When you get HTTP error when uploading images to WordPress on your local MAMP/XAMP, it takes a while to understand that you need to look at the Apache access log.
This will reveal that Apache has been quietly restarting over and over like this each time you got your HTTP error:
This problem often happens in Windows because of smaller Apache’s default stack size. And it usually happens when working with php code that allocates a lot of stacks. (Thank you to codexpedia!)
To solve this issue, add the following at the end of apache config file, httpd.conf, and then restart Apache.