Questions tagged [http-1.1]

HTTP 1.1 is the latest version of the http protocol. It includes more stringent requirements than HTTP/1.0 in order to ensure reliable implementation of its features.

The Hypertext Transfer Protocol () is an application-level protocol for distributed, collaborative, hypermedia information systems. HTTP has been in use by the World-Wide Web global information initiative since 1990.

HTTP/1.0 does not sufficiently take into consideration the effects of hierarchical proxies, caching, the need for persistent connections, or virtual hosts. In addition, the proliferation of incompletely-implemented applications calling themselves "HTTP/1.0" has necessitated a protocol version change in order for two communicating applications to determine each other's true capabilities.

The new version of the protocol (HTTP 1.1) includes more stringent requirements than HTTP/1.0 in order to ensure reliable implementation of its features.

Here are some of the new features introduced with HTTP 1.1:

  • Host field: HTTP 1.1 has a required Host header by spec.
  • Persistent connections: HTTP 1.1 also allows you to have persistent connections which means that you can have more than one request/response on the same HTTP connection.
  • OPTIONS method: HTTP/1.1 introduces the OPTIONS method. An HTTP client can use this method to determine the abilities of the HTTP server. It's mostly used for Cross Origin Resource Sharing in web applications.
  • Caching: HTTP 1.1 expands on the caching support a lot by using something called 'entity tag'. If 2 resources are the same, then they will have the same entity tags.
  • HTTP 1.1 also adds the If-Unmodified-Since, If-Match, If-None-Match conditional headers.
  • 100 Continue status: there is a new return code in HTTP/1.1 100 Continue. This is to prevent a client from sending a large request when that client is not even sure if the server can process the request, or is authorized to process the request. In this case the client sends only the headers, and the server will tell the client 100 Continue, go ahead with the body.
  • Digest authentication and proxy authentication
  • Extra new status codes
  • Chunked transfer encoding
  • Connection header
  • Enhanced compression support

Resources:

207 questions
2
votes
2 answers

PUT or PATCH to change only one field value

I'm thinking to create an API for users to change their password. User table has some fields like firstname, lastname and so on. For this API, should I use PATCH like the below? PATCH /users/{userId} { "password": "new_password" } Or, should I…
Nigiri
  • 3,469
  • 6
  • 29
  • 52
2
votes
1 answer

Digest access authentication on nginx

Is it possible to use http 1.1 digest access authentication instead of basic access authentication when restricting access to a website with nginx? I mean this in a similar fashion as on the nginx guide.
Niccolò
  • 2,854
  • 4
  • 24
  • 38
2
votes
1 answer

PHP using session_cache_limiter() and session_cache_expire() or multiple header()

I want my PHP pages to be cached. To allow cache I use: session_cache_limiter('private'); session_cache_expire(180); session_start(); Since I'm only using sessions for these cache headers, should I just drop these 3 line and replace them with (I'm…
AlexV
  • 22,658
  • 18
  • 85
  • 122
2
votes
1 answer

Dojo dgrid not displaying "No Results found" Message

i have this as my dgrid constructor , var MyQuickGrid = declare([onDemandGrid,Keyboard,Selection,ColumnHider,ColumnResizer,ColumnReorder]); and the partial config_opts are var config_opts = { loadingMessage: " Loading data...", …
chitwarnold
  • 1,331
  • 2
  • 8
  • 11
2
votes
1 answer

Expect: 100-Continue header with XmlHTTPRequest

How do I force XmlHttpRequest to add Expect: 100-continue header? How can I make use of this feature in desktop browsers world? var xmlhttp = new XMLHttpRequest(); var dataToSend = new FormData(); dataToSend.append('some',…
Vlad Miller
  • 2,255
  • 1
  • 20
  • 38
2
votes
1 answer

Perl LWP::UserAgent request does not return using http1.1 but working fine using http1.0!? Why?

I have a very simple script (on a SLES11 system) to send a http1.1 request to a server. This worked fine for a long time. Since a couple of days it stopped working. I have no idea why. After some investigation I found out forcing the script to use…
Enkidu
  • 149
  • 1
  • 1
  • 9
2
votes
2 answers

How to do HTTP 1.1 long polling in .NET 3.5?

We have a server written in other technology (not .NET) which supports push technology (basically, can withstand long polling via HTTP 1.1) on the web. We are creating a .NET 3.5 application which is supposed to get push notifications (like a chat)…
Artem
  • 7,275
  • 15
  • 57
  • 97
2
votes
0 answers

How to generate HTTP 1.1 header to stream video

What are the HTTP 1.1 header to stream video from a HTTP server ? Currently i am sending transfer-Encoding : chunked This runs well in flash video player in google chrome , but fails to load in firefox.
vinit sharma
  • 453
  • 2
  • 7
  • 12
2
votes
1 answer

Error Starting Tomcat 6 with SSL Enabled

I recently got a ssl certificate from godaddy. I created the keystore properly and put the following into my server.xml:
keith h
  • 83
  • 3
  • 10
1
vote
1 answer

Server does not respond to concurrent requests in HTTP/1.1 Client using Java

I'am trying to implement a simple HTTP/1.1 client application against a remote HTTP server. If I have a 301 Moved Permanently response from server, I will try to download the file from it's new location given in server's response. I am able to send…
Korhan Ozturk
  • 11,148
  • 6
  • 36
  • 49
1
vote
1 answer

Adding content-length to an API post request using Rails

I'm trying to post some data to the Google Places api. However when I run the code (below) I receive a 411 Length Required error. Does anyone know how to resolve this using the code below. Thanks require 'rubygems' require 'httparty' class…
Ray A.
  • 161
  • 1
  • 1
  • 9
1
vote
1 answer

How to set APLN protocols before TLS handshake with OpenSSL in Rust?

I want to set the APLN protocols to "h2" and "http/1.1" before the TLS handshake. I am using .set_alpn_protos(). However, my attempt yields an error at runtime: context.set_alpn_protos(b"\x06h2\x08http/1.1").expect("set ALPN error"); thread 'main'…
Yin Lei
  • 51
  • 4
1
vote
1 answer

Parsing responses of content-type chunked in python

I'm trying to read and parse a request of content-type: chunked in python. Here is what I see when I load the url in a browser and look at the source: