Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Preface
Conventions Used in This Book
Using Code Examples
Safari® Books Online
How to Contact Us
Acknowledgments
1. HTTP
Clients and Servers
Making HTTP Requests
Command-Line HTTP
Browser Tools
Doing HTTP with PHP
2. HTTP Verbs
Serving GET Requests
Making GET Requests
Handling POST Requests
Making POST Requests
Using Other HTTP Verbs
3. Headers
Request and Response Headers
Identify Clients with User-Agent
Headers for Content Negotiation
Parsing an Accept Header
Demonstrating Accept Headers with cURL
Securing Requests with the Authorization Header
HTTP Basic Authentication
HTTP Digest Authentication
OAuth
Caching Headers
Custom Headers
4. Cookies
Cookie Mechanics
Reading and Writing Cookies
Making Requests with Cookies
Cookies and APIs
5. JSON
When to Choose JSON
Handling JSON with PHP
The JSONSerializable Interface
Consuming JSON APIs
6. XML
XML in PHP
Creating XML
Consuming XML APIs
Parsing XML
Flickr’s XML API
7. RPC and SOAP Services
RPC
SOAP
WSDL
PHP SOAP Client
PHP SOAP Server
Generating a WSDL File from PHP
PHP Client and Server with WSDL
8. REST
RESTful URLs
Resource Structure and Hypermedia
Build the Basic RESTful Server
Example Project: The Wishlist
Create Resources with POST
Fetch a Resource or Collection with GET
Update a Resource with PUT
DELETE a Resource
RESTful Versus Useful
9. Webhooks
GitHub’s Webhooks
Publishing Your Own Webhooks
10. HTTP Tools
Easy Command-Line JSON
Graphical cURL Alternatives
Inspect HTTP Traffic with Wireshark
Tunnel Local Traffic Remotely with ngrok
Inspect, Edit, Repeat, and Share Requests
Proxying PHP Applications
Proxy Settings for Guzzle
Proxy Settings for HTTP Stream Handling
Finding the Tool for the Job
11. Maintainable Web Services
Sample API Application
Consistent Output Formats
Debug Output as a Tool
Effective Logging Techniques
Error Logging in PHP Applications with Monolog
Error Handling with PHP Exceptions
12. Making Service Design Decisions
Service Type Decisions
How to Present API Data
Hypermedia for Easy API Navigation
Nested Data or Many Round Trips
Data Formats and Media Types
Customizable Experiences
Pick Your Defaults
13. Building a Robust Service
Consistency Is Key
Consistent and Meaningful Naming
Common Validation Rules
Predictable Structures
Error Handling in APIs
Meaningful Error Messages
What to Do When You See Errors
Making Design Decisions for Robustness
14. Publishing Your API
Documentation Is Key
Overview Documentation
Generated API Documentation
Interactive Documentation
API Description Languages
Automated Testing Tools
Tutorials and the Wider Ecosystem
A. A Guide to Common Status Codes
B. Common HTTP Headers
Index
← Prev
Back
Next →
← Prev
Back
Next →