What is the motivation behind the introduction of preflight CORS requests?

I spent some time being confused as to the purpose of the preflight request but I think I’ve got it now. The key insight is that preflight requests are not a security thing. Rather, they’re a not-changing-the-rules thing. Preflight requests have nothing to do with security, and they have no bearing on applications that are … Read more

What does status=canceled for a resource mean in Chrome Developer Tools?

We fought a similar problem where Chrome was canceling requests to load things within frames or iframes, but only intermittently and it seemed dependent on the computer and/or the speed of the internet connection. This information is a few months out of date, but I built Chromium from scratch, dug through the source to find … Read more

What HTTP status response code should I use if the request is missing a required parameter?

Status 422 seems most appropiate based on the spec. The 422 (Unprocessable Entity) status code means the server understands the content type of the request entity (hence a 415(Unsupported Media Type) status code is inappropriate), and the syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was … Read more

How to redirect to a 404 in Rails?

Don’t render 404 yourself, there’s no reason to; Rails has this functionality built in already. If you want to show a 404 page, create a render_404 method (or not_found as I called it) in ApplicationController like this: def not_found raise ActionController::RoutingError.new(‘Not Found’) end Rails also handles AbstractController::ActionNotFound, and ActiveRecord::RecordNotFound the same way. This does two … Read more

Do I need Content-Type: application/octet-stream for file download?

No. The content-type should be whatever it is known to be, if you know it. application/octet-stream is defined as “arbitrary binary data” in RFC 2046, and there’s a definite overlap here of it being appropriate for entities whose sole intended purpose is to be saved to disk, and from that point on be outside of … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)