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
1
vote
1 answer

Chrome allowed too many parallel requests to the same resource at the same time

Please see the below Image, all the requests were sent to the same server almost at the same time. Chrome version is 86.0.4240.183. That's very weird, I thought there was a maximum of six TCP connections per host. In my opinion, how the requests…
troy
  • 2,145
  • 2
  • 23
  • 31
1
vote
1 answer

How to resolve a HTTP/1.1 POST 405 Method Not allowed error

I'm building a webpage and am currently stuck on the login page section of the code. Whenever I try to login I keep getting this error warning: "HTTP/1.1 POST /check-login" - 405 Method Not Allowed. I've reviewed my code a few times and compared it…
1
vote
1 answer

How to config Nginx Only Support HTTP2 for No ALPN Clients

Here is the situation: Our client wants to back support some old ios mac systems, which the network lib it used does not support ALPN. Our Server is set up only to accept gRPC requests, so there is no need for the server to accept HTTP1.1…
Mithsul
  • 71
  • 1
  • 8
1
vote
2 answers

The source of dash (i.e. -) requests on the HTTP port

We recently upgraded our tomcat server to v9 and it started throwing exceptions for receiving HTTP requests with the following data 1.1.1.1 - - [30/Jun/2020:04:55:31 +0000] "-" 400 1921 Which is nothing alike the usual... 1.1.1.1 - -…
Muhammad Gelbana
  • 3,890
  • 3
  • 43
  • 81
1
vote
0 answers

Chrome uses different versions of HTTP randomly

I have a website that supports HTTP2. If I use Firefox or Chrome in anonymous mode then all the calls are made with HTTP2 (shown as h2 in Chrome developer tools Network tab). When I use ordinary Chrome though it does exactly the same call but uses…
Ilya Chernomordik
  • 27,817
  • 27
  • 121
  • 207
1
vote
0 answers

Imgur server randomly chooses h2 over http/1.1 and then it fails

For a couple of hours I'm trying to upload a file to https://api.imgur.com/3/image but it randomly fails with Failure IO: Stream 3 reset with error code 1 or something equally meaningless. I was able to manage that sometimes imgur server chooses h2…
1
vote
1 answer

GET HTTP 1.1 error 400 with PHP background task

I have a GET request being created to run a background task in PHP. The code is working on my development machine but fails on a production environment. GET http://localhost:8080/hms/controllers/background/bday.php HTTP 1.1 Host: localhost…
user5349142
  • 117
  • 2
  • 12
1
vote
0 answers

In PHP, While adding events in icalendar through CALDAV protocol, Received unknown HTTP status

I am working on project based on inserting events in icalendar(iPhone) through CALDAV protocol using PHP language In localhost the code is working fine.. when adding the same code to server using some functions, received unknown HTTP status.. I…
Nischinth
  • 21
  • 1
  • 2
1
vote
1 answer

CDN-server with http/1.1 vs. webserver with http/2

I have a hosted webserver with http/2 (medium fast) and additionally I have a space on a fast CDN-Server with only http/1.1. Is it recommended to load some ressources from the CDN or should I use only the webserver because of http/2? Loading too…
manton
  • 161
  • 11
1
vote
2 answers

What does HTTP 1.x lack to allow multiplexing like HTTP 2

I know that HTTP 1.1 supports pipelining, where multiple requests can be sent over single connection but these requests need to be served by server in the same order they were sent from the client. Also, from a client you can make multiple HTTP…
Gaurav Kumar
  • 1,091
  • 13
  • 31
1
vote
1 answer

Huge amount of images - HTTP/1.1 vs HTTP/2?

The program I’m about to write require downloading huge amount of HD images. The idea of the program disclaims downloading all of them in one HTTP request (it’s impossible to archive all of them into one file). For this reason, program will be…
Andret2344
  • 653
  • 1
  • 12
  • 33
1
vote
1 answer

What make http/2 faster than http/1 beyond multiplexing and server push?

I could understand why multiplexing and server push help speed up web page loading and reduce workload on server side. But I have also learned that binary protocol, header compression, and prioritization of requests also contribute to performance…
duong_dajgja
  • 4,196
  • 1
  • 38
  • 65
1
vote
1 answer

Intermittent NGINX error: client sent invalid chunked body

I am running into a weird issue, where NGINX is intermittently returning 400 with error log 2018/08/15 07:08:38 [error] 3794#3794: *961526 client sent invalid chunked body, client: 10.$$.$$.$$, server: $$.api.$$.com, request: "PUT /v2/$$…
hello123
  • 391
  • 4
  • 15
1
vote
2 answers

Is it possible to test http/2 with http/1.1 using same domain name in Akamai?

Is it possible to A/B test http/2 with http/1.1 using same domain name in Akamai?
priyankatanvani
  • 173
  • 1
  • 12
1
vote
0 answers

Content-Length and Transfer-Encoding headers in Spring MVC

I'm using Spring MVC and get Transfer-Encoding header in all responses. AFAIK it tells that the response is partial. But at the same time I get all the data, no problems at all. I've found that to disable Transfer-Encoding header generation…
Dmitry Senkovich
  • 5,521
  • 8
  • 37
  • 74