WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

Software Engineering · Intermediate · question 32 of 100

What is CORS (Cross-Origin Resource Sharing), and why is it important in web development?

📕 Buy this interview preparation book: 100 Software Engineering questions & answers — PDF + EPUB for $5

CORS (Cross-Origin Resource Sharing) is a security feature built into modern web browsers that governs how web pages can communicate with resources from different origins. Origins are defined according to the domain, port, and protocol of a website, and web resources from different origins are typically allowed to interact with each other only through a set of defined mechanisms.

The same-origin policy ensures that web pages from different origins cannot interfere with each other’s data and functionality. However, in some cases, it is necessary to allow cross-domain access to resources on different origins. This is where CORS comes into play.

In essence, CORS defines a set of HTTP headers that allow web pages to make cross-origin requests to remote resources. The headers inform the web server that the request is being sent from a different origin, and the server can then decide whether to allow or deny the request based on its policies.

The CORS specification allows servers to specify which origins are allowed to access their resources by setting the Access-Control-Allow-Origin header. For example, to allow access from any origin, the server can set the header to "*". Alternatively, servers can specify a list of allowed origins, such as "https://example.com" or "https://*.example.com".

In web development, CORS is important because it enables web pages to access resources from other domains or subdomains while still maintaining the security and integrity of each website. For example, a web page may need to access an API hosted on a different domain to retrieve data or media files. Without CORS, the browser would block such requests due to the same-origin policy, preventing the web page from functioning as intended.

Here is an example of how to enable CORS on a web server using a simple Node.js application with the help of the ‘cors‘ package:

const express = require('express');
const cors = require('cors');

const app = express();
app.use(cors());

app.get('/api/data', (req, res) => {
  // Do some processing and send the response
  res.send({ message: 'Hello, World!' });
});

app.listen(3000, () => {
  console.log('Server is listening on port 3000');
});

In this example, we use the ‘cors‘ middleware to enable CORS for all routes on our server. Now any web page that sends requests to ‘http://localhost:3000/api/data‘ will be allowed to retrieve the response from the server.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic Software Engineering interview — then scores it.
📞 Practice Software Engineering — free 15 min
📕 Buy this interview preparation book: 100 Software Engineering questions & answers — PDF + EPUB for $5

All 100 Software Engineering questions · All topics