Nginx handles file requests by checking the file extension against a list of known MIME types defined in the 'types' block. If it finds a match, it sets the Content-Type header accordingly. If no match is found, nginx uses the 'default_type' directive to set a fallback Content-Type header, usually 'application/octet-stream'. This process ensures that every response has a Content-Type header, which helps browsers understand how to handle the file. For example, a request for '/index.html' sets Content-Type to 'text/html', while a request for '/file.unknown' uses the default type. Files without extensions also use the default type. This behavior is important to configure correctly for proper content delivery.