GoorooTHINK

Thought provoking and helpful articles
from the Gooroo community.

Do you have something to say? Contribute or create an article and add it to your Gooroo bio.

  1. Http Patterns: Progress

    A progress resource is usually a temporary resource that is created automatically by the server to provide status on some long running process that has been initiated by a client. It is used to provide feedback to an end user and point to the results of an operation once it has completed.HTTP is a client/server request and response protocol. It does not provide for server initiated communications. If a client makes a request to a server that is likely to take a long time, e.g. 5 seconds or longer,...
  2. HTTP Patterns : Factory

    A factory resource is one that is used to create other resources.Sometimes it is difficult to create a complete resource representation on the client without some involvement from the server. It may be that the server is responsible for creating a unique identifier for the new resource, so a PUT request is not possible. Or other attributes of the resource may be dependent on existing server state. For example, creating a order resource where the order quantity may be adjusted based on in-stock quantity.
  3. HTTP Patterns : Bouncer

    A resource designed to accept a request body containing complex query parameters and redirect to a new location to enable the results of complex and expensive queries to be cached.There are practical limitations to the length of a URL on the Web. In order to send complex queries it is sometimes necessary to use a POST method and use the request body to describe the query parameters. However, a POST method cannot return a cached response. If the complex queries take a non-trivial amount of time...
  4. HTTP Patterns : Discovery

    This type of resource is used to provide a client with the information it needs to be able to access other resources. This removes the need for a client to hardcode resource URLs which include information such as the protocol scheme, host, path and query string.The primary problem addressed by a discovery resource is allowing API developers to change various elements of their API without having to notify client developers of the change and potentially force those customers to redeploy their application.
  5. HTTP Patterns: Miniput

    A resource designed to enable doing a partial update to another resource.It is frequently desirable to allow a client to update a subset of information contained in a resource. The HTTP specification does not allow the PUT method to perform partial updates to a resource. The PATCH method can be used to make an incremental changes to a resource, but it requires a specially formatted patch format payload like JSON-Patch or JSON-Merge-Patch. Also, PATCH is not guaranteed to be idempotent.Creating "child"...
  6. Two Strategies for Crossing Origins with Performance in Mind

    The web's same-origin policy is one of the cornerstone mechanisms upon which web security is built. It restricts the way that resources can be shared between web applications that have differing protocols, hosts or ports.A few years ago, the Cross-Origin Resource Sharing (aka CORS) specification extended the policy to enable various scenarios that were previously restricted. While the new scenarios are certainly useful, they introduce new considerations for the performance minded. The remainder of...
  7. HTTP Patterns : Alias

    A resource designed to provide a logical identifier but without being responsible for incurring the costs of transferring the representation.Sometimes when working with large media files it is desirable to identify the media resource within the same URI space as other resources related to the media resource, however for cost or performance reasons it is prefered to fetch the representation from an alternate location.Through the use of the 307 Temporary Redirect status code and a Location header with...
  8. HTTP Patterns : Bucket

    A resource used to indicate the status of a "child" resource.A user wishes to manage a set of resource that over their lifetime will transition through a set of statuses. The user wishes to be able to change the status of a resource and identify resources that have a particular status, whilst ensuring that no resources exist in two states at once.The bucket resource generally returns a list of entities when a GET method is issued.It is recommended that in order to change the status of a resource,...
  9. HTTP Patterns : Whack-a-mole

    A type of resource that when deleted, re-appears as a different resource.A user wishes to remove, cancel, make inactive, or archive an entity, but the system wishes to maintain a history that the entity did exist at some point in time and also make that available as a resource.Implement the DELETE method on the resource that is to be affected. The implementation should delete the existing resource as requested and create a new resource to represent the updated entity.There are numerous alternative...
  10. Edit DRAFT Edit

    • updated

Top Tags

Trending Articles

  1. Http Patterns: Progress

    Last updated: 6 months ago by Darrel  Miller
  2. HTTP Patterns : Factory

    Last updated: 7 months ago by Darrel  Miller
  3. HTTP Patterns : Bouncer

    Last updated: 6 months ago by Darrel  Miller
  4. HTTP Patterns : Discovery

    Last updated: 6 months ago by Darrel  Miller
  5. HTTP Patterns: Miniput

    Last updated: 7 months ago by Darrel  Miller
  6. Two Strategies for Crossing Origins with Performance in Mind

    Last updated: one year ago by Nik Molnar
  7. HTTP Patterns : Alias

    Last updated: 7 months ago by Darrel  Miller
  8. HTTP Patterns : Bucket

    Last updated: 6 months ago by Darrel  Miller
  9. HTTP Patterns : Whack-a-mole

    Last updated: 6 months ago by Darrel  Miller

Publishing guidelines

Gooroo is a professional community interested only in consuming quality content. Here are our pretty simple guidelines for all contributors to follow.