{"product_id":"bxosps-cors-in-action-9781617291821","title":"Cors In Action","description":"\u003cp\u003e\u003cspan class=\"a-text-italic\"\u003eCORS in Action\u003c\/span\u003e\u003cspan\u003e introduces Cross-Origin Resource Sharing (CORS) from both the server and the client perspective. It starts with the basics: how to make CORS requests and how to implement CORS on the server. It then explores key details such as performance, debugging, and security. API authors will learn how CORS opens their APIs to a wider range of users. JavaScript developers will find valuable techniques for building rich web apps that can take advantage of APIs hosted anywhere. The techniques described in this book are especially applicable to mobile environments, where browsers are guaranteed to support CORS.\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003cspan class=\"a-text-bold\"\u003eAbout the Book\u003c\/span\u003e\u003cspan\u003e\u003cbr\u003e\u003cbr\u003eSuppose you need to share some JSON data with another application or service. If everything is hosted on one domain, it's a snap. But if the data is on another domain, the browser's \"same-origin\" policy stops you cold. CORS is a new web standard that enables safe cross-domain access without complex server-side code. Mastering CORS makes it possible for web and mobile applications to share data simply and securely.\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003cspan class=\"a-text-italic\"\u003eCORS in Action\u003c\/span\u003e\u003cspan\u003e introduces CORS from both the server and the client perspective. It starts with making and enabling CORS requests and then explores performance, debugging, and security. You'll learn to build apps that can take advantage of APIs hosted anywhere and how to write APIs that expand your products to a wider range of users.\u003cbr\u003e\u003cbr\u003eFor web developers comfortable with JavaScript. No experience with CORS is assumed.\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003cspan class=\"a-text-bold\"\u003eWhat's Inside\u003c\/span\u003e\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cul class=\"a-unordered-list a-vertical\"\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eCORS from the ground up\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eServing and consuming cross-domain data\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eBest practices for building CORS APIs\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eWhen to use CORS alternatives like JSON-P and proxies\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003cspan class=\"a-text-bold\"\u003eAbout the Author\u003c\/span\u003e\u003cspan\u003e\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003cspan class=\"a-text-bold\"\u003eMonsur Hossain\u003c\/span\u003e\u003cspan\u003e is an engineer at Google who has worked on API-related projects such as the Google JavaScript Client, the APIs Discovery Service, and CORS support for Google APIs.\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003cspan class=\"a-text-bold\"\u003eTable of Contents\u003c\/span\u003e\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003col class=\"a-ordered-list a-vertical\"\u003e\u003c\/ol\u003e\n\u003cp\u003e\u003cspan\u003ePART 1 INTRODUCING CORS\u003c\/span\u003e\u003c\/p\u003e\n\u003cul class=\"a-unordered-list a-vertical\"\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eThe Core of CORS\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eMaking CORS requests\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan\u003ePART 2 CORS ON THE SERVER\u003c\/span\u003e\u003c\/p\u003e\n\u003cul class=\"a-unordered-list a-vertical\"\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eHandling CORS requests\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eHandling preflight requests\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eCookies and response headers\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eBest practices\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan\u003ePART 3 DEBUGGING CORS REQUESTS\u003c\/span\u003e\u003c\/p\u003e\n\u003cul class=\"a-unordered-list a-vertical\"\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eDebugging CORS requests\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan\u003eAPPENDIXES\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003col class=\"a-ordered-list a-vertical\"\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eCORS reference\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eConfiguring your environment\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eWhat is CSRF?\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e\u003cspan\u003eOther cross-origin techniques\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ol\u003e","brand":"Manning Publications","offers":[{"title":"Default Title","offer_id":68612843602162,"sku":"9781617291821","price":19.9,"currency_code":"MYR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0601\/0883\/2974\/files\/9781617291821_i.jpg?v=1794445572","url":"https:\/\/www.bookxcess.com\/products\/bxosps-cors-in-action-9781617291821","provider":"BookXcess","version":"1.0","type":"link"}