Summary
We looked at the same-origin policy, which limits cross-origin resource sharing. We covered a lot of the basics needed to work around the same-origin policy with CORS, including the header and request.
We saw how a script tag on a local domain can retrieve resources from a target domain as responseText
request and how we can then do things with the responseText
request on the local domain.
We have learned when preflight is helpful, and when it is required.
We have learned how to enable the crossorigin attribute in the script tag for troubleshooting.
We have looked at CORS with jQuery and its limitations.
We have compared CORS with other cross-origin methods: JSON-P, WebSockets, and window.postMessage. We have learned why CORS can be better and more secure than these methods.
In the next chapter, we will learn how to use proxies for CORS, for example, using the CORS plugin for jQuery with corsproxy.io.