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
0
votes
0 answers

Force browser to download files using http/1.1 instead of http/2

Our network bandwidth is slow. So, when we trigger multiple downloads at once by "Download all" button on our website, after some time (not the same time always) all the downloads fail with "Failed: Network Error" regardless of the browser.…
abhilash
  • 115
  • 12
0
votes
1 answer

QUIC with HTTP 1

Can I use QUIC with HTTP 1 (in Android). I have been reading that QUIC works with HTTP 2 but when I used it with HTTP 1 then my HTTP connection time improved. I was using urlConnection = (HttpsURLConnection) url.openConnection(); stream =…
Android14
  • 1,045
  • 1
  • 11
  • 18
0
votes
1 answer

How to disable HTTP1.1 and only use HTTP/2 in Windows Server 2016 and IIS 10?

Traffic to my site is using HTTP1.1, and I want to force the server to only use HTTP/2. I'm running Windows Server 2016 and IIS 10. I've tried adding HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters EnableHttp2Tls: DWORD =…
js1983
  • 310
  • 2
  • 12
0
votes
1 answer

Call a Scala service using HttpClient from a Java API is not working

I am trying to call a Scala service from a Java API using the HttpClient from Java 11. On the Java API the code looks like: var client = HttpClient.newHttpClient(); var packagesCountUrl = getPackagesCountUrl(); var sessionUserToken =…
Radu Linu
  • 1,143
  • 13
  • 29
0
votes
0 answers

Getting ERR_HTTP2_PROTOCOL_ERROR on file download on Specific environment

I have WebApi in .net core 3.1 and front end as angular application I have written the below code for large file download from WebApi. Both WebApi and Angular UI are hosted on Azure service fabric. When a request goes to WebApi for file download…
0
votes
0 answers

HTTP1 + TLS to HTTP2

I'm looking for a technical solution that can convert http1.1 + TLS1.2 requests to http2 (h2 or h2c). I have to integrate a custom web server that only supports http2 (i can't modify the source code). I've already search on nginx reverse proxy but…
tleb
  • 1
  • 1
0
votes
0 answers

Set HTTP/1.1 OR HTTP/2.0 protocol

I have a WebApp (Ionic App) and DotNet Core WebAPI service. I hosted it on 2 different IIS Server i.e. Server1 and Server2. Sometimes, my application doesn't behave correctly on Server2. When I debug the code and looked at logs, I found strange…
KiddoDeveloper
  • 568
  • 2
  • 11
  • 34
0
votes
1 answer

How do I set MaxConnsPerHost on http2 transport in GoLang

I'm trying to force GoLang to use HTTP2 and so have done the following: transport := &http2.Transport{} client := &http.Client{Transport: transport} But I also need to set MaxConnsPerHost and MaxIdleConns, which I'm not able to. I know I can set…
Chandraaditya
  • 341
  • 1
  • 8
  • 18
0
votes
1 answer

Are firewalls a bottleneck for persistent http connections?

I am building a client server application, where clients will use a long-lived http sessions to push data from the server to the client (sometimes referred to as http push, reverse ajax, server push, long-polling, http1.1 etc.) If I have potentially…
Asad
  • 238
  • 1
  • 6
0
votes
0 answers

okhttp client errors after setup client for server authentication confirmation

We are trying to use the minio-java client that uses okhttp client for uploading object to buckets. Currently the server that we use supports only server authentication and not mutual tls and this mainly means that we have to verify the certificates…
EVOLGR
  • 1
0
votes
1 answer

IIS 10.5 does not Transfer-Encoding Chunked in HTTP Requests (Upload Operations)

We have an ASP.NET WEBAPI application running on IIS 10.5 where we have offered a upload file API. Since, we expect large files above 1 GB or so, we are performing some tests chunked transfer encoding. It is observed that IIS 10.5 does not accept…
KSP
  • 91
  • 1
  • 5
0
votes
0 answers

Why no boundary in Content-Type: RFC 7233 Hypertext Transfer Protocol (HTTP/1.1) : "Range Requests"

How can I get information about boundary=THIS_STRING_SEPARATES in my curl response? In the curl request below I was able to get the following response: curl http://www.example.com -i -H "Range: bytes=0-50, 100-150" HTTP/1.1 206 Partial…
hochan
  • 220
  • 3
  • 10
0
votes
1 answer

Would a page modified twice within the same second break If-Modified-Since?

From my understanding of the caching mechanism, the response header Last-Modified, request header If-Modified-Since and etc has accuracy to the second, i.e. If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT, and thus subsecond modifications would…
T Tse
  • 786
  • 7
  • 19
0
votes
1 answer

is it possible to mark some resources (urls) as http 1.1 only? on a server that offers both http2 and http1.1

Please is it possible to mark some resources (urls) as http1.1 only, on a server that offers both http2 and http1.1 ? Serving large files via http2 seems to break on ACE Server. However these same files are served without issues via http1.1 on the…
Charles Okwuagwu
  • 10,538
  • 16
  • 87
  • 157
0
votes
0 answers

How to make HTTP1.1 connection non-persistent at server side only in case of logout operation?

As the default behavior of HTTP1.0 is non-persistent and HTTP1.1 is persistent but I have to make HTTP1.1 non-persistent only in case of logout operation by handling at server side only disregard of whatever is coming in logout request and it's…