HTTP Accept Header Template Rendering for REST Compliance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing webpage state and interaction between a client and server is challenging, particularly in maintaining compliance with REST design models and efficiently rendering content in various representations, as existing solutions often require multiple copies of resources and hardcoded URLs, leading to complexity and inefficiency.

Innovation Solution

The technique involves using the HTTP Accept request-header to specify a template and media type for rendering content, allowing the server to render the same resource in different representations without being tied to a specific storage location, and enabling partial page updates by executing client-side code that manages the server's response, thus decoupling client and server rendering technologies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple copies of resources are stored at different URLs to support different representations, then content can be rendered in various formats, but device complexity and maintenance burden increase

Engineering Contradiction:
Improvecontent representation flexibilityVSAvoidresource duplication complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The server is designed to handle multiple content representation requests through a single URL by interpreting the Accept request-header. Instead of requiring separate URLs for different content formats (HTML, JSON, XML, etc.), the universal server endpoint processes all representation types by reading the client's preferred format from the Accept header and returning the appropriate representation, thereby eliminating the need for multiple resource copies while maintaining adaptability

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The content representation is changed by modifying the Accept request-header parameter rather than changing the URL. The client specifies its preferred media type and template in the Accept header (e.g., Accept: application/json; template=user-profile), and the server adjusts its response format accordingly. This parameter-based approach allows dynamic content format selection without creating duplicate resources at different locations

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If hardcoded URLs are used to specify content location and format, then resource retrieval is straightforward, but adaptability to different templates and media types is reduced

Engineering Contradiction:
Improvecontent retrieval simplicityVSAvoidtemplate flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

Instead of hardcoding the content format and location in the URL path, the patent inverts the approach by keeping the URL simple and location-based, while moving the format specification to the Accept request-header. The URL identifies what content is wanted, and the Accept header specifies how it should be represented. This inversion separates location identification from format specification, maintaining ease of operation while enabling template flexibility

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The Accept request-header acts as an intermediary between the client's content format requirements and the server's resource storage system. Rather than the client needing to know specific URL patterns for different formats, or the server needing hardcoded format mappings, the Accept header mediates this communication by carrying the desired media type and template information, allowing the server to retrieve and transform content appropriately

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the same resource is accessible at multiple URLs with different templates, then content can be rendered in various formats, but loss of information occurs due to uncached responses

Engineering Contradiction:
Improvecontent format varietyVSAvoidcached response availability
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

By making the server endpoint universal and format-agnostic (relying on Accept header interpretation), the same resource location can serve multiple format requirements without creating separate cached copies. The server processes format conversion dynamically based on the Accept header, allowing a single cached resource to satisfy multiple representation requests, thereby preventing information loss while maintaining format variety

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9875314B2Content request with HTTP request-header rendering template that is independent of content storage location
Publication Date: 2018.01.23 ADOBE INC
  • US9875314B2 patent drawing
  • US9875314B2 patent drawing
  • US9875314B2 patent drawing

AI summary

Techniques are disclosed for managing page state and interaction between a client and server. One embodiment provides a server that is configured to serve webpages having code therein that is executable within the client browser. The code is invoked upon user input indicative of a content request and is configured to request the server to pass back a desired representation of the requested content based on a template specified in the HTTP Accept request-header. The template is independent of content storage location, thereby allowing the same resource at a given server storage location to be accessed and presented in numerous renditions. The server is configured to send back the requested content in a rendition that corresponds to the specified template. The client-based code can be further configured to place the returned content the appropriate page location. The HTTP Accept request-header may specify a media type and template combination.