If /foo is a directory, and DirectoryIndex is set to index.cgi, then a request for /foo yields an external redirect to /foo/, and a request to /foo/ yields an internal redirect to /foo/index.cgi.
BTW 304 is "not modified", a response to an If-Modified-Since or similar conditional request. Redirects are 301 and 302.