What's new

Pipelineing

  • Thread starter Thread starter Deleted member 247820
  • Start date Start date
D

Deleted member 247820

Guest
Is pipelineing possible in Safari in iPad mini2 or any iPad?
If possible how is it enabled?
Has anyone had experience using it?
 
Is pipelineing possible in Safari in iPad mini2 or any iPad?
If possible how is it enabled?
Has anyone had experience using it?

Hi Peter - I will not be of much help, but for others reading your post, an explanation may help. First, I'm assuming you're referring to HTTP Pipelining (quote below from the link). Second, a diagram showing how this process can speed up browsing connections. Looking in System Preferences -> Safari, I see no settings that addresses this option. Maybe others w/ a deeper understanding of HTTP and its implementations in iOS will respond. If this is not your intended topic, then please explain better since 'pipelining' is also a computer programming manipulation. Dave :)

HTTP pipelining is a technique in which multiple HTTP requests are sent on a single TCP connection without waiting for the corresponding responses. The pipelining of requests results in a dramatic improvement in the loading times of HTML pages, especially over high latency connections such as satellite Internet connections. The speedup is less apparent on broadband connections, as the limitation of HTTP 1.1 still applies: the server must send its responses in the same order that the requests were received — so the entire connection remains first-in-first-out[1] and HOL blocking can occur. The asynchronous operation of the upcoming HTTP/2 or SPDY could be a solution for this.
.
MbAOA.webp
 
Hi Dave.
Thanks for the reply.
The pipelineing you show in your reply is what I am asking about.
Really my question is does it actually do anything for average users.
I believe it could help people with "long" ping type connections.
 
Thanks Peter for the clarification - I understand what you're suggesting but really have little more to offer - BUT, I hope someone will reply w/ a deeper knowledge of this area. Dave :)
 
Hi Dave.
I know of a person who has Firefox on his PC and all he had to do was enable "Pipelineing".
I have the feeling however that Safari in IPad is not likely to to be enabled.
Perhaps I should try to contact Safari directly.
 
Hi Dave.
I know of a person who has Firefox on his PC and all he had to do was enable "Pipelineing".
I have the feeling however that Safari in IPad is not likely to to be enabled.
Perhaps I should try to contact Safari directly.

Safari is Apple's default browser on the iPad. There is nothing you can do with it to enable pipelining. I haven't heard of any browser for iOS that can pipeline, though I don't know of any reason why it would be impossible.

This is what Wikipedia has to say about browser supporet for pipelining. Hold in mind that this appears to be about desktop browsers. I very much doubt any of the iOS versions of these browsers support the protocol.

Implementation in web serversEdit
Implementing pipelining in web servers is a relatively simple matter of making sure that network buffers are not discarded between requests. For that reason, most modern web servers handle pipelining without any problem.

Implementation in web browsersEdit
Of all the major browsers, only Opera based on Presto layout engine had a fully working implementation that was enabled by default. In all other browsers HTTP pipelining is disabled or not implemented.[3]

Here is the link to the Wikipedia article for further reading. It looks like even if the browser supports pipelining, it will do nothing unless the host server also has it enabled. In this day, where slower high latency connections are less of an issue, I suspect most servers no longer bother to enable it; though given the ease of enabling it (according to the article) I could be wrong about that.

HTTP pipelining - Wikipedia

Edit: I see this is the same article that giradman pulled his quote from; so I'm being somewhat redundant here.
 
Safari is Apple's default browser on the iPad. There is nothing you can do with it to enable pipelining. I haven't heard of any browser for iOS that can pipeline, though I don't know of any reason why it would be impossible.

This is what Wikipedia has to say about browser supporet for pipelining. Hold in mind that this appears to be about desktop browsers. I very much doubt any of the iOS versions of these browsers support the protocol.



Here is the link to the Wikipedia article for further reading. It looks like even if the browser supports pipelining, it will do nothing unless the host server also has it enabled. In this day, where slower high latency connections are less of an issue, I suspect most servers no longer bother to enable it; though given the ease of enabling it (according to the article) I could be wrong about that.

HTTP pipelining - Wikipedia

Edit: I see this is the same article that giradman pulled his quote from; so I'm being somewhat redundant here.
Oh, no. You will never be redundant. I was waiting for you come up with the correct answer!
 
Hi Dave.
Everything points to Safari not supporting pipelining.
You are correct when you say short ping time helps make it redundant.
However although I have good ping times, I also often use VPN.
And you will know that VPN kills good ping times, with the actual figure varying hughly depending on where the VPN is located.
So I would liked to have given pipelining a try.
Alas it's not going to happen for me.
Thanks for your replies.
 
Hi T Poet.
Same for me, not heard of it until recently.
In my searches I have seen references to it back in 2008.
Seems that in those days it was prone to crashing often.
 
While pipelining does not (so far) appear possible on an iPad, thanks for bringing up the subject as I for one knew nothing about it. Always good to learn new things
 
Hi Dave.
Everything points to Safari not supporting pipelining.
You are correct when you say short ping time helps make it redundant.
However although I have good ping times, I also often use VPN.
And you will know that VPN kills good ping times, with the actual figure varying hughly depending on where the VPN is located.
So I would liked to have given pipelining a try.
Alas it's not going to happen for me.

Hi again Peter - I've been trying to understand these HTTP implementations in iOS since you first posted - several issues: 1) In May of 2015, HTTP/2 was finalized which was a marked improvement over the much older HTTP/1.1, and was adopted by Apple for iOS 9 according to the link and the diagram below from the same source - SO, assuming that current iOS 10.x is compatible w/ the newest protocol (Source); and 2) The three quotes below explain the differences between HTTP/1.1 vs. HTTP/2 (Source) - notice the text in the third quote that I put in bold - pipelining is discussed which appeared to be more of an issue w/ the older HTTP protocol, and is now handled by multiplexing, so likely a non-concern?

Both of those links are excellent - the first one is much easier to understand (for me) - certainly not my field of expertise - thus, welcome the comments of others as to whether this newest HTTP/2 protocol eliminates the need for pipelining. Dave :)

What are the key differences to HTTP/1.x?
At a high level, HTTP/2:
  • is binary, instead of textual
  • is fully multiplexed, instead of ordered and blocking
  • can therefore use one connection for parallelism
  • uses header compression to reduce overhead
  • allows servers to “push” responses proactively into client caches
Why is HTTP/2 binary?
Binary protocols are more efficient to parse, more compact “on the wire”, and most importantly, they are much less error-prone, compared to textual protocols like HTTP/1.x, because they often have a number of affordances to “help” with things like whitespace handling, capitalization, line endings, blank lines and so on.

Why is HTTP/2 multiplexed?
HTTP/1.x has a problem called “head-of-line blocking,” where effectively only one request can be outstanding on a connection at a time.

HTTP/1.1 tried to fix this with pipelining, but it didn’t completely address the problem (a large or slow response can still block others behind it). Additionally, pipelining has been found very difficult to deploy, because many intermediaries and servers don’t process it correctly.

This forces clients to use a number of heuristics (often guessing) to determine what requests to put on which connection to the origin when; since it’s common for a page to load 10 times (or more) the number of available connections, this can severely impact performance, often resulting in a “waterfall” of blocked requests.

Multiplexing addresses these problems by allowing multiple request and response messages to be in flight at the same time; it’s even possible to intermingle parts of one message with another on the wire. This, in turn, allows a client to use just one connection per origin to load a page.
.
Screen Shot 2017-02-14 at 2.04.29 PM.webp
 
Well, I had too much to say in my last post, so a follow-up or addendum from another article that I was reading HERE - if interested, go to the link using Safari on your iPad (as I am on my iPad Air 2 - latest iOS), then scroll down to 'how to test....communicating w/ HTTP/2' - shown below in the first pic - I clicked on the linked circled in blue - connected to the page shown in the second screen capture from my iPad - thus, my Safari is indeed on HTTP/2 - Dave :)
.
Screen Shot 2017-02-14 at 2.40.31 PM.webp
IMG_7734.webp
 
Hi Dave.
Everything points to Safari not supporting pipelining.
You are correct when you say short ping time helps make it redundant.
However although I have good ping times, I also often use VPN.
And you will know that VPN kills good ping times, with the actual figure varying hughly depending on where the VPN is located.
So I would liked to have given pipelining a try.
Alas it's not going to happen for me.

Dave thanks for the extra information about the latest versions.
Which certainly seem to make pipelineing redundant.

Thanks to everyone else for your replies. I appreciate all the answers.
 

Most reactions

Latest posts

Back
Top