Class IfRange
- All Implemented Interfaces:
Serializable,Header,NameValuePair
If the entity is unchanged, send me the part(s) that I am missing; otherwise, send me the entire new entity.
Example
If-Range: "737060cd8c284d8af7ad3082f209582d"
RFC2616 Specification
If a client has a partial copy of an entity in its cache, and wishes to have an up-to-date copy of the entire entity in its cache, it could use the Range request-header with a conditional GET (using either or both of If-Unmodified-Since and If-Match.) However, if the condition fails because the entity has been modified, the client would then have to make a second request to obtain the entire current entity-body.The If-Range header allows a client to "short-circuit" the second request. Informally, its meaning is `if the entity is unchanged, send me the part(s) that I am missing; otherwise, send me the entire new entity'.
If-Range = "If-Range" ":" ( entity-tag | HTTP-date )
If the client has no entity tag for an entity, but does have a Last- Modified date, it MAY use that date in an If-Range header. (The server can distinguish between a valid HTTP-date and any form of entity-tag by examining no more than two characters.) The If-Range header SHOULD only be used together with a Range header, and MUST be ignored if the request does not include a Range header, or if the server does not support the sub-range operation.
If the entity tag given in the If-Range header matches the current entity tag for the entity, then the server SHOULD provide the specified sub-range of the entity using a 206 (Partial content) response. If the entity tag does not match, then the server SHOULD return the entire entity using a 200 (OK) response.
See Also:
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class org.apache.juneau.http.classic.header.BasicDateHeader
assertZonedDateTime, asZonedDateTime, of, of, of, orElse, toZonedDateTimeMethods inherited from class org.apache.juneau.http.classic.header.BasicHeader
assertName, assertStringValue, asString, copy, equals, equalsIgnoreCase, get, getElements, getName, hashCode, isNotEmpty, isPresent, of, of, orElse, toString
-
Constructor Details
-
IfRange
Constructor.- Parameters:
value- The header value.
Can benull to create a header with no value.
-
IfRange
Constructor.- Parameters:
value- The header value.
Must be an RFC-1123 formated string (e.g."Sat, 29 Oct 1994 19:43:31 GMT" ).
Must not benull (anull argument throwsNullPointerException).
-
IfRange
Constructor with delayed value.Header value is re-evaluated on each call to
getValue().- Parameters:
value- The supplier of the header value.
Supplier must supply eitherEntityTagorZonedDateTimeobjects.
Can benull to create a header with no value.
-
IfRange
Constructor.- Parameters:
value- The header value.
Can benull to create a header with no value.
-
-
Method Details
-
of
Static creator.- Parameters:
value- The header value.
Can benull .- Returns:
- A new header bean, or
null if the name isnull or empty or the value isnull .
-
of
Static creator.- Parameters:
value- The header value.
Must be an RFC-1123 formated string (e.g."Sat, 29 Oct 1994 19:43:31 GMT" ).
Can benull .- Returns:
- A new header bean, or
null if the name isnull or empty or the value isnull .
-
of
Static creator with delayed value.Header value is re-evaluated on each call to
getValue().- Parameters:
value- The supplier of the header value.
Supplier must supply eitherEntityTagorZonedDateTimeobjects.
Can benull .- Returns:
- A new header bean, or
null if the name isnull or empty or the value isnull .
-
of
Static creator.- Parameters:
value- The header value.
Can benull .- Returns:
- A new header bean, or
null if the name isnull or empty or the value isnull .
-
asEntityTag
Returns this header as anEntityTag.- Returns:
- This header as an
EntityTag.
-
getValue
- Specified by:
getValuein interfaceNameValuePair- Overrides:
getValuein classBasicDateHeader
-