Cross-origin resource sharing (CORS) topic
Cross-origin resource sharing (CORS) is a mechanism that allows restricted resources on a web page to be accessed from another domain outside the domain from which the first resource was served. CORS also relies on a mechanism by which browsers make a "preflight" request to the server hosting the cross-origin resource, in order to check that the server will permit the actual request. In that preflight, the browser sends headers that indicate the HTTP method and headers that will be used in the actual request. For security reasons, browsers restrict cross-origin HTTP requests initiated from scripts. For example, fetch()
and XMLHttpRequest
follow the same-origin policy. This means that a web application using those APIs can only request resources from the same origin the application was loaded from unless the response from other origins includes the right CORS headers.
Resource types
- Invocations of
fetch()
orXMLHttpRequest
- Web Fonts (for cross-domain font usage in
@font-face
within CSS), so that servers can deploy TrueType fonts that can only be loaded cross-origin and used by websites that are permitted to do so - WebGL textures
- Images/video frames drawn to a canvas using
drawImage()
- CSS shapes from images
- scripts
- iframes
Corsy
CORS Misconfiguration Scanner
cross-origin
A collection of simple demos of CORS
allowcors
AllowCORS is a multi-backend reserve proxy built to bypass same-origin policy
Google-Docs-Clone-Client
A Real-Time Collaborative Editor based on Vuejs, SocketIO and Vuetify. Uses MongoDB as the database and Mongoose as the ORM
bypass-cors
a proxy server to bypass CORS enabled servers
browser-preview
🎢Preview html file in your default browser
corsica
Elixir library for dealing with CORS requests. 🏖
node-cors-client
A test application that helps illustrate CORS while both in a working state and a non-working state across simple and complex request scenarios.