دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [1 ed.] نویسندگان: Leonard Richardson, Sam Ruby, David Heinemeier Hansson سری: ISBN (شابک) : 9780596529260, 0596529260 ناشر: O'Reilly سال نشر: 2007 تعداد صفحات: 440 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 3 Mb
در صورت تبدیل فایل کتاب RESTful Web Services به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب خدمات وب RESTful نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
این کتاب \"Web\" را به خدمات وب بازگردانده است. این نشان می دهد که چگونه می توانید با فناوری هایی که قبلاً هر روز استفاده می کنید به وب قابل برنامه ریزی متصل شوید. کلید REST است، سبک معماری که وب را به حرکت در می آورد. این کتاب: بر قدرت فناوریهای اساسی وب تأکید میکند - پروتکل برنامه HTTP، استاندارد نامگذاری URI، و زبان نشانهگذاری XML. * نشان میدهد که چگونه یک طراحی RESTful سادهتر، همهکارهتر و مقیاسپذیرتر از طراحی مبتنی بر تماسهای رویه از راه دور (RPC) است * شامل نمونههای واقعی از خدمات وب RESTful، مانند سرویس ذخیرهسازی ساده آمازون و پروتکل انتشار اتم * بحث در مورد وب سرویس گیرندگان برای زبانهای برنامهنویسی محبوب * نحوه پیادهسازی سرویسهای RESTful را در سه چارچوب محبوب - Ruby on Rails، Restlet (برای جاوا) و جنگو (برای Python) نشان میدهد * تمرکز بر مسائل عملی: نحوه طراحی و پیادهسازی وب سرویسها و کلاینتهای RESTful این اولین کتابی است که فلسفه طراحی REST را در خدمات وب واقعی به کار می برد. بهترین روشهایی را که برای موفقیت طراحیتان نیاز دارید و تکنیکهایی را که برای تبدیل طرحتان به کد کار نیاز دارید، مشخص میکند. شما میتوانید از قدرت وب برای برنامههای قابل برنامهریزی استفاده کنید: فقط باید به جای مقابله با وب، با آن کار کنید. این کتاب به شما نشان می دهد که چگونه.
This book puts the "Web" back into web services. It shows how you can connect to the programmable web with the technologies you already use every day. The key is REST, the architectural style that drives the Web. This book: * Emphasizes the power of basic Web technologies - the HTTP application protocol, the URI naming standard, and the XML markup language * Introduces the Resource-Oriented Architecture (ROA), a common-sense set of rules for designing RESTful web services * Shows how a RESTful design is simpler, more versatile, and more scalable than a design based on Remote Procedure Calls (RPC) * Includes real-world examples of RESTful web services, like Amazon's Simple Storage Service and the Atom Publishing Protocol * Discusses web service clients for popular programming languages * Shows how to implement RESTful services in three popular frameworks - Ruby on Rails, Restlet (for Java), and Django (for Python) * Focuses on practical issues: how to design and implement RESTful web services and clientsThis is the first book that applies the REST design philosophy to real web services. It sets down the best practices you need to make your design a success, and the techniques you need to turn your design into working code. You can harness the power of the Web for programmable applications: you just have to work with the Web instead of against it. This book shows you how.
Table of Contents Foreword Preface The Web Is Simple Big Web Services Are Not Simple The Story of the REST Reuniting the Webs What’s in This Book? Administrative Notes Conventions Used in This Book Using Code Examples Safari® Enabled How to Contact Us Acknowledgments Chapter 1. The Programmable Web and Its Inhabitants Kinds of Things on the Programmable Web HTTP: Documents in Envelopes Method Information Scoping Information The Competing Architectures RESTful, Resource-Oriented Architectures RPC-Style Architectures REST-RPC Hybrid Architectures The Human Web Is on the Programmable Web Technologies on the Programmable Web HTTP URI XML-RPC SOAP WS-* WSDL WADL Leftover Terminology Chapter 2. Writing Web Service Clients Web Services Are Web Sites Wrappers, WADL, and ActiveResource del.icio.us: The Sample Application What the Sample Clients Do Making the Request: HTTP Libraries Optional Features Ruby: rest-open-uri and net/http Python: httplib2 Java: HttpClient C#: System.Web.HTTPWebRequest PHP: libcurl JavaScript: XMLHttpRequest The Command Line: curl Other Languages Processing the Response: XML Parsers Ruby: REXML, I Guess Python: ElementTree Java: javax.xml, Xerces, or XMLPull C#: System.Xml.XmlReader PHP JavaScript: responseXML Other Languages JSON Parsers: Handling Serialized Data Clients Made Easy with WADL Chapter 3. What Makes RESTful Services Different? Introducing the Simple Storage Service Object-Oriented Design of S3 A Few Words About Buckets A Few Words About Objects What If S3 Was a Standalone Library? Resources HTTP Response Codes An S3 Client The Bucket List The Bucket The S3 Object Request Signing and Access Control Signing a URI Setting Access Policy Using the S3 Client Library Clients Made Transparent with ActiveResource Creating a Simple Service An ActiveResource Client A Python Client for the Simple Service Parting Words Chapter 4. The Resource-Oriented Architecture Resource-Oriented What Now? What’s a Resource? URIs URIs Should Be Descriptive The Relationship Between URIs and Resources Addressability Statelessness Application State Versus Resource State Representations Deciding Between Representations Links and Connectedness The Uniform Interface GET, PUT, and DELETE HEAD and OPTIONS POST Creating subordinate resources Appending to the resource state Overloaded POST: The not-so-uniform interface Safety and Idempotence Safety Idempotence Why safety and idempotence matter Why the Uniform Interface Matters That’s It! Chapter 5. Designing Read-Only Resource-Oriented Services Resource Design Turning Requirements Into Read-Only Resources Figure Out the Data Set General Lessons Split the Data Set into Resources General Lessons Name the Resources Encode Hierarchy into Path Variables No Hierarchy? Use Commas or Semicolons Map URIs Scale Algorithmic Resource? Use Query Variables URI Recap Design Your Representations The Representation Talks About the State of the Resource The Representation Links to Other States Representing the List of Planets Representing Maps and Points on Maps Representing the Map Tiles Representing Planets and Other Places Representing Lists of Search Results Link the Resources to Each Other The HTTP Response What’s Supposed to Happen? Conditional HTTP GET What Might Go Wrong? Conclusion Chapter 6. Designing Read/Write Resource-Oriented Services User Accounts as Resources Why Should User Accounts Be Resources? Authentication, Authorization, Privacy, and Trust Turning Requirements into Read/Write Resources Figure Out the Data Set Split the Data Set into Resources Name the Resources with URIs Expose a Subset of the Uniform Interface Design the Representation(s) Accepted from the Client Design the Representation(s) to Be Served to the Client Link This Resource to Existing Resources What’s Supposed to Happen? What Might Go Wrong? Custom Places Figure Out the Data Set Split the Data Set into Resources Name the Resources with URIs Expose a Subset of the Uniform Interface Design the Representation(s) Accepted from the Client Design the Representation(s) Served to the Client Link This Resource to Existing Resources What’s Supposed to Happen? What Might Go Wrong? A Look Back at the Map Service Chapter 7. A Service Implementation A Social Bookmarking Web Service Figuring Out the Data Set Resource Design REST in Rails The User Controller The Bookmarks Controller The User Tags Controller The Calendar Controller The URI Controller The Recent Bookmarks Controller The Bundles Controller The Leftovers Remodeling the REST Way Implementation: The routes.rb File Design the Representation(s) Accepted from the Client Design the Representation(s) Served to the Client Connect Resources to Each Other What’s Supposed to Happen? What Might Go Wrong? Controller Code What Rails Doesn’t Do Conditional GET param[:id] for things that aren’t IDs The ApplicationController The UsersController The BookmarksController The TagsController The Lesser Controllers The CalendarController The RecentController The UrisController Model Code The User Model The Bookmark Model What Does the Client Need to Know? Natural-Language Service Description Description Through Standardization Hypermedia Descriptions Chapter 8. REST and ROA Best Practices Resource-Oriented Basics The Generic ROA Procedure Addressability Representations Should Be Addressable State and Statelessness Connectedness The Uniform Interface Safety and Idempotence New Resources: PUT Versus POST Overloading POST This Stuff Matters Why Addressability Matters Why Statelessness Matters Why the Uniform Interface Matters Why Connectedness Matters A terrifying example Resource Design Relationships Between Resources Asynchronous Operations Batch Operations Transactions When In Doubt, Make It a Resource URI Design Outgoing Representations Incoming Representations Service Versioning Permanent URIs Versus Readable URIs Standard Features of HTTP Authentication and Authorization Basic authentication Digest authentication WSSE username token Compression Conditional GET Caching Please cache Thank you for not caching Default caching rules Look-Before-You-Leap Requests Partial GET Faking PUT and DELETE The Trouble with Cookies Why Should a User Trust the HTTP Client? Applications with a Web Interface Applications with No Web Interface What Problem Does this Solve? Chapter 9. The Building Blocks of Services Representation Formats XHTML XHTML with Microformats Atom OpenSearch SVG Form-Encoded Key-Value Pairs JSON RDF and RDFa Framework-Specific Serialization Formats Ad Hoc XHTML Other XML Standards and Ad Hoc Vocabularies Encoding Issues XML and HTTP: Battle of the encodings The character encoding of a JSON document Prepackaged Control Flows General Rules Database-Backed Control Flow GET PUT POST for creating a new resource POST for appending to a resource DELETE The Atom Publishing Protocol Collections Members Service document Category documents Binary documents as APP members Summary GData Querying collections Data extensions POST Once Exactly Hypermedia Technologies URI Templates XHTML 4 XHTML 4 links XHTML 4 forms Shortcomings of XHTML 4 XHTML 5 WADL Describing a del.icio.us resource Describing an APP collection Is WADL evil? Chapter 10. The Resource-Oriented Architecture Versus Big Web Services What Problems Are Big Web Services Trying to Solve? SOAP The Resource-Oriented Alternative WSDL The Resource-Oriented Alternative UDDI The Resource-Oriented Alternative Security The Resource-Oriented Alternative Reliable Messaging The Resource-Oriented Alternative Transactions The Resource-Oriented Alternative BPEL, ESB, and SOA Conclusion Chapter 11. Ajax Applications as REST Clients From AJAX to Ajax The Ajax Architecture A del.icio.us Example The Advantages of Ajax The Disadvantages of Ajax REST Goes Better Making the Request Handling the Response JSON Don’t Bogart the Benefits of REST Cross-Browser Issues and Ajax Libraries Prototype Dojo Subverting the Browser Security Model Request Proxying JavaScript on Demand Dynamically writing the script tag Library support Chapter 12. Frameworks for RESTful Services Ruby on Rails Routing Resources, Controllers, and Views Outgoing Representations Incoming Representations Web Applications as Web Services The Rails/ROA Design Procedure Restlet Basic Concepts Writing Restlet Clients Writing Restlet Services Resource and URI design Request handling and representations Compiling, running, and testing Conclusion Django Create the Data Model Define Resources and Give Them URIs Implement Resources as Django Views The bookmark list view The bookmark detail view Further directions Conclusion Appendix A. Some Resources for REST and Some RESTful Resources Standards and Guides HTTP and URI RESTful Architectures Hypermedia Formats Frameworks for RESTful Development Weblogs on REST Services You Can Use Service Directories Read-Only Services Read/Write Services Appendix B. The HTTP Response Code Top 42 Three to Seven Status Codes: The Bare Minimum 1xx: Meta 100 (“Continue”) 101 (“Switching Protocols”) 2xx: Success 200 (“OK”) 201 (“Created”) 202 (“Accepted”) 203 (“Non-Authoritative Information”) 204 (“No Content”) 205 (“Reset Content”) 206 (“Partial Content”) 207 (“Multi-Status”) 3xx: Redirection 300 (“Multiple Choices”) 301 (“Moved Permanently”) 302 (“Found”) 303 (“See Other”) 304 (“Not Modified”) 305 (“Use Proxy”) 306: Unused 307 (“Temporary Redirect”) 4xx: Client-Side Error 400 (“Bad Request”) 401 (“Unauthorized”) 402 (“Payment Required”) 403 (“Forbidden”) 404 (“Not Found”) 405 (“Method Not Allowed”) 406 (“Not Acceptable”) 407 (“Proxy Authentication Required”) 408 (“Request Timeout”) 409 (“Conflict”) 410 (“Gone”) 411 (“Length Required”) 412 (“Precondition Failed”) 413 (“Request Entity Too Large”) 414 (“Request-URI Too Long”) 415 (“Unsupported Media Type”) 416 (“Requested Range Not Satisfiable”) 417 (“Expectation Failed”) 5xx: Server-Side Error 500 (“Internal Server Error”) 501 (“Not Implemented”) 502 (“Bad Gateway”) 503 (“Service Unavailable”) 504 (“Gateway Timeout”) 505 (“HTTP Version Not Supported”) Appendix C. The HTTP Header Top Infinity Standard Headers Accept Accept-Charset Accept-Encoding Accept-Language Accept-Ranges Age Allow Authorization Cache-Control Connection Content-Encoding Content-Language Content-Length Content-Location Content-MD5 Content-Range Content-Type Date ETag Expect Expires From Host If-Match If-Modified-Since If-None-Match If-Range If-Unmodified-Since Last-Modified Location Max-Forwards Pragma Proxy-Authenticate Proxy-Authorization Range Referer Retry-After TE Trailer Transfer-Encoding Upgrade User-Agent Vary Via Warning WWW-Authenticate Nonstandard Headers Cookie POE POE-Links Set-Cookie Slug X-HTTP-Method-Override X-WSSE Index