Pipelining allows that, not persistant connections, and no browser supports pipelining. Partially because you can't efficiently use them because you don't know the size of the response, so you can't efficiently schedule requests over the 6 connections that way. You could have a bunch of your requests all stuck behind one very large response.
HTTP 2.0 doesn't suffer the same way because all the data is going over a single connection.
Yup, I would read PC Magazine for the reviews of software/hardware I was considering buying, although often I wouldn't purchase the Editor's Choice for one reason or another. Computer Shopper is where I would actually look to buy it. Dr. Dobbs I read for the technical articles, and kept forever because I would often want to use some algorithm I had read a year or two prior (or more).
All that stuff I use the web for today, and of the bunch, I miss Dr. Dobbs the most, but I find most of what I'm looking for on the web much faster than I could by searching through my stack of magazines anyhow, and I don't have to re-key it.
A poor person, Mr. A, spends all his money ($10000). 100% ($10,000) of his net income goes towards sales tax, most of it toward. ($1000)
should have been: A poor person, Mr. A, spends all his money ($10000). 50% ($5,000) of his net income goes towards food (1%), and 50% toward rent (0%) - $500
A jurisdiction has a certain sales tax rate, say X%. A poor person, Mr. A, spends all his money. X% of his net income goes towards sales tax. An upper middle class person, Mr. B, spends half his money and invests the other half. X/2% of his net income goes towards sales tax. A truly wealthy person, Mr. C, spends one percent of his money and invests the remainder. X/100% of his net income goes towards sales tax. Why would we, as a society, support a tax that has a poor person paying 100 times more, as a percentage of his net income, than a truly wealthy person?
1% is an unrealistic number, the lowest I've seen is the ultra rich spending 3% of their money, so I've used that instead.
Well let's fill those numbers in, and fix your gaping holes -- I'm pulling numbers from Illinois State. A jurisdiction has a certain sales tax rate, say 10% (Chicago, and 1% on food, magazines, etc). A poor person, Mr. A, spends all his money ($10000). 100% ($10,000) of his net income goes towards sales tax, most of it toward. ($1000) An upper middle class person, Mr. B, spends half his money ($100,000) and invests the other half. 100000* 1/2 ($50,000) of his net income goes towards sales tax. ($5,000) immediately. A truly wealthy person, Mr. C, spends 3 percent of his money ($1,550,000) and invests the remainder. 1000000 * 3/100 ($46,500) of his net income goes towards sales tax ($4650) immediately.
That is sales tax. Now let's add in the State Tax. A poor person, Mr. A, with income of $10,000 pays 0% of his income on state taxes. ($0) A upper middle class person, Mr. B, with income of $100,000 pays 3% of his income on state taxes ($100,000-$4100 in deductions) = $2,877. A truly wealthy person, Mr. C, with income of $1,550,000 pays 3% of his income on state taxes ($1,550,000 - $4100 in deductions) = $46,377.
Now let's do federal tax. A poor person, Mr. A, with income of $10,000 pays 0% of his income on federal taxes. ($0 -- and in some cases he actually gets a refund...) A upper middle class person, Mr. B, with income of $100,000 pays ~17-20% of his income on federal taxes ($17,000) A truly wealthy person, Mr. C, with income of $1,550,000 pays 35% of his income on federal taxes ($542,500)
Now remember that investment income, well, on average it should have made ~9% last year. A poor person, Mr. A, with no investment income pays 5% for capital gains ($0) A upper middle class person, Mr. B, with investments of (($100,000- $2877 - $17000)/2) $40,061 pays 15% on the gains (9%) = $540 A upper middle class person, Mr. C, with investments of (($1,550,000 - $542,500 - $46,377)*97%) $932289 pays 20% on the gains (9%) = $16,781
Blah blah blah... I got bored of crunching numbers with fake bullshit assumptions. The ultra rich don't only spend 3% of their income. They would be spending less than the upper class, and that's ridiculous. The upper class don't invest half their income, most less upper middle class invest much less than 20%. I only kept the numbers I had already crunched (with obvious omissions) to show just how stupid your comparison really is, even with bogus assumptions. Not every tax needs to be based on how much you make. I don't want to hand my waitress a W-2 when I go out to eat so she can properly calculate my sales tax. That is just a ridiculous notion. WHY should a person who makes more pay a higher sales tax? Sales tax is a tax on stuff you buy -- not how much you made, or what you may or may not also buy this year. You just sound angry and bitter that you are poor, and damn this rich people, cause well... they are rich.
As a side note, the bottom 50% ($26415) in 1999 paid 4% of the federal income. 10 years later, the bottom 50% ($32,396) paid 2.25% of the federal income despite making 22% more, they contributed nearly half as much towards the total. The same isn't true for the top 1%. The amount they contributed actually went UP.
Money that is invested will indeed pay sales tax, when it is cashed out and spent, or do you suspect that money that is invested will stay invested forever, just being passed down from generation to generation?
A missing packet in HTTP 1.1 (using keep-alive) will hold up all traffic to go over that connection because once all the data is transmitted, it has nothing more to send until the receiving application (the browser) receives it so it can request the next resource. This is not true for HTTP 2.0 because the next resource has already either been requested, and the browser can continue to request. TCP selective ACK will keep the connection flowing even with one missing packet (or a few).
The publishers were shown to "get together" on pricing. It doesn't necessarily mean that they all flew into a conference room all at once and had a meeting scheduled for "price colluding 2013".
But then again, if you really cared about what the problem was, what the facts were, and the law, you would go read the court documents.
When all beverage manufacturers get together and decide that they are all going to raise prices 5000% because together they have the market cornered, and customers really don't have a choice, then perhaps you will rethink your ideology when sipping that $100 bottle of water. I mean, isn't that fair? It would be something like water $100, coffee $102, starbucks coffee $108, pepsi/coke $101.
Multiple sellers are not allowed to agree to set a price on products. That isn't as you say "what a buyer and seller are freely willing to agree to", as the seller is not free to agree to anything other than what they already agreed to with the other sellers.
No, he's advocating that government should fix the price of everything because we don't have a free market. It's sort of like saying once you add a drop of lemon juice to 2,000 gallons of water, you can't call it water (with or without flavoring) anymore type mentality.
A block protocol is ons that transmits some data, the waits for an acknowledgement before continuing to send. You are right that pipelining would resolve some, but not all of the problems. Unfortunately, no current browser supports it (none of the major ones). Neither does the keep alive which all major browsers do support.
As for fast TCP opens, that won't help all that much in most circumstances because of the keep alive is already in use. It would definitely help some, at most 6xRTT, but in practice much less, probably 1-2xRTT.
As for the packet loss issue, given enough data, selective ACK already solves that problem.
Here is some reading for you, just below the first page, you can see some "real-world" tests against 25 of the top 100 websites in the world using SPDY, which HTTP 2.0 borrows from: http://dev.chromium.org/spdy/spdy-whitepaper
Well let's start at the beginning of networking 101.
Block protocols that do handshaking perform poorly over high latency links. Windowing protocols fixes this by having always data flowing.
HTTP 1.1's keep alive pipelining, is a form of handshake, where not until the receiver gets the very last byte can it then transmit that it wants something else. Multiplexing is the fix, by always having data flowing since there is another resource to send.
Similar things occur because of packet loss in HTTP 1.1. Since the receiver can't begin to request anther resource until it has finished receiving the prior one, the packet loss effectively stops/pauses the transmission until a new packet is received. HTTP 2.0 fixes this because another resource can be requested at any time, and the server can even send down resources the client hasn't requested yet.
HTTP 1.1 doesn't already do multiplexing. It's sequentially requesting things one after another, incurring latency between each request -- although it's doing it over a single TCP connection, so you don't have to go through the 3-way handshake again. It also doesn't allow you to set priorities for the request so that the most important assets come to you first (most of today's browsers do attempt to do this somewhat now). The header is also resent for each request, and it can be fairly considerable when you include all the miscellaneous stuff like cookies, user agent strings, accept, language, etc etc that really only need to be sent once, not once per request. The headers aren't compressed in HTTP 1.1 either.
Apparently HTTP 2.0 is also much more efficient in noisy environments where packets get lost. The more packetloss, the better HTTP 2.0 will perform over HTTP 1.1.
Uh, no. Where a HTTP header's value ends and the next header begins is well defined. They can span multiple lines only in predefined ways (begin next line with space or tab). Parsing the headers out, and ignoring the ones you don't understand is a trivial task.
Only if you compress after encryption, but your compression would likely be very poor if you did that. In all compression schemes, there is telltale signs that it's been compressed, either through a dictionary lookup placed somewhere in the compression stream, or similar. Encrypted compression therefore allows some insight into the key that was used to encrypt it since you are guaranteed certain parts you can unencrypt or at the very least vastly lower the probabilities, severely weakening any encryption scheme you use.
Everything about your post is wrong. Cookies are transmitted with each request. ASP.NET Webform's viewstate is transmitted to and from each page, if enabled. Although HTTP 2.0 doesn't solve either of these problems, and the text nature of most HTTP requests has very little to do with the speed of the protocol. Changing to a binary protocol will likely shave off TENS of bytes on each request. You won't notice, even with a timer accurate to the millisecond.
I was going to write a technical book called Secure Boot for dummies, but I got as far as: Go to your BIOS, and check the box that says "Disable Secure Boot". Then click save.
Then I realized I was done. Now on sale @Amazon for $24.95!
Pipelining allows
Pipelining allows that, not persistant connections, and no browser supports pipelining. Partially because you can't efficiently use them because you don't know the size of the response, so you can't efficiently schedule requests over the 6 connections that way. You could have a bunch of your requests all stuck behind one very large response.
HTTP 2.0 doesn't suffer the same way because all the data is going over a single connection.
Yup, I would read PC Magazine for the reviews of software/hardware I was considering buying, although often I wouldn't purchase the Editor's Choice for one reason or another. Computer Shopper is where I would actually look to buy it. Dr. Dobbs I read for the technical articles, and kept forever because I would often want to use some algorithm I had read a year or two prior (or more).
All that stuff I use the web for today, and of the bunch, I miss Dr. Dobbs the most, but I find most of what I'm looking for on the web much faster than I could by searching through my stack of magazines anyhow, and I don't have to re-key it.
Just a minor fix:
A poor person, Mr. A, spends all his money ($10000). 100% ($10,000) of his net income goes towards sales tax, most of it toward. ($1000)
should have been:
A poor person, Mr. A, spends all his money ($10000). 50% ($5,000) of his net income goes towards food (1%), and 50% toward rent (0%) - $500
A jurisdiction has a certain sales tax rate, say X%.
A poor person, Mr. A, spends all his money. X% of his net income goes towards sales tax.
An upper middle class person, Mr. B, spends half his money and invests the other half. X/2% of his net income goes towards sales tax.
A truly wealthy person, Mr. C, spends one percent of his money and invests the remainder. X/100% of his net income goes towards sales tax.
Why would we, as a society, support a tax that has a poor person paying 100 times more, as a percentage of his net income, than a truly wealthy person?
1% is an unrealistic number, the lowest I've seen is the ultra rich spending 3% of their money, so I've used that instead.
Well let's fill those numbers in, and fix your gaping holes -- I'm pulling numbers from Illinois State.
A jurisdiction has a certain sales tax rate, say 10% (Chicago, and 1% on food, magazines, etc).
A poor person, Mr. A, spends all his money ($10000). 100% ($10,000) of his net income goes towards sales tax, most of it toward. ($1000)
An upper middle class person, Mr. B, spends half his money ($100,000) and invests the other half. 100000* 1/2 ($50,000) of his net income goes towards sales tax. ($5,000) immediately.
A truly wealthy person, Mr. C, spends 3 percent of his money ($1,550,000) and invests the remainder. 1000000 * 3/100 ($46,500) of his net income goes towards sales tax ($4650) immediately.
That is sales tax. Now let's add in the State Tax.
A poor person, Mr. A, with income of $10,000 pays 0% of his income on state taxes. ($0)
A upper middle class person, Mr. B, with income of $100,000 pays 3% of his income on state taxes ($100,000-$4100 in deductions) = $2,877.
A truly wealthy person, Mr. C, with income of $1,550,000 pays 3% of his income on state taxes ($1,550,000 - $4100 in deductions) = $46,377.
Now let's do federal tax.
A poor person, Mr. A, with income of $10,000 pays 0% of his income on federal taxes. ($0 -- and in some cases he actually gets a refund...)
A upper middle class person, Mr. B, with income of $100,000 pays ~17-20% of his income on federal taxes ($17,000)
A truly wealthy person, Mr. C, with income of $1,550,000 pays 35% of his income on federal taxes ($542,500)
Now remember that investment income, well, on average it should have made ~9% last year.
A poor person, Mr. A, with no investment income pays 5% for capital gains ($0)
A upper middle class person, Mr. B, with investments of (($100,000- $2877 - $17000)/2) $40,061 pays 15% on the gains (9%) = $540
A upper middle class person, Mr. C, with investments of (($1,550,000 - $542,500 - $46,377)*97%) $932289 pays 20% on the gains (9%) = $16,781
Blah blah blah... I got bored of crunching numbers with fake bullshit assumptions. The ultra rich don't only spend 3% of their income. They would be spending less than the upper class, and that's ridiculous. The upper class don't invest half their income, most less upper middle class invest much less than 20%. I only kept the numbers I had already crunched (with obvious omissions) to show just how stupid your comparison really is, even with bogus assumptions. Not every tax needs to be based on how much you make. I don't want to hand my waitress a W-2 when I go out to eat so she can properly calculate my sales tax. That is just a ridiculous notion. WHY should a person who makes more pay a higher sales tax? Sales tax is a tax on stuff you buy -- not how much you made, or what you may or may not also buy this year. You just sound angry and bitter that you are poor, and damn this rich people, cause well... they are rich.
As a side note, the bottom 50% ($26415) in 1999 paid 4% of the federal income. 10 years later, the bottom 50% ($32,396) paid 2.25% of the federal income despite making 22% more, they contributed nearly half as much towards the total. The same isn't true for the top 1%. The amount they contributed actually went UP.
Money that is invested will indeed pay sales tax, when it is cashed out and spent, or do you suspect that money that is invested will stay invested forever, just being passed down from generation to generation?
A missing packet in HTTP 1.1 (using keep-alive) will hold up all traffic to go over that connection because once all the data is transmitted, it has nothing more to send until the receiving application (the browser) receives it so it can request the next resource. This is not true for HTTP 2.0 because the next resource has already either been requested, and the browser can continue to request. TCP selective ACK will keep the connection flowing even with one missing packet (or a few).
Apparently, you are not a lawyer.
The publishers were shown to "get together" on pricing. It doesn't necessarily mean that they all flew into a conference room all at once and had a meeting scheduled for "price colluding 2013".
But then again, if you really cared about what the problem was, what the facts were, and the law, you would go read the court documents.
When all beverage manufacturers get together and decide that they are all going to raise prices 5000% because together they have the market cornered, and customers really don't have a choice, then perhaps you will rethink your ideology when sipping that $100 bottle of water. I mean, isn't that fair? It would be something like water $100, coffee $102, starbucks coffee $108, pepsi/coke $101.
Multiple sellers are not allowed to agree to set a price on products. That isn't as you say "what a buyer and seller are freely willing to agree to", as the seller is not free to agree to anything other than what they already agreed to with the other sellers.
No, he's advocating that government should fix the price of everything because we don't have a free market. It's sort of like saying once you add a drop of lemon juice to 2,000 gallons of water, you can't call it water (with or without flavoring) anymore type mentality.
It also says that all current browsers are not affected.
A block protocol is ons that transmits some data, the waits for an acknowledgement before continuing to send. You are right that pipelining would resolve some, but not all of the problems. Unfortunately, no current browser supports it (none of the major ones). Neither does the keep alive which all major browsers do support.
As for fast TCP opens, that won't help all that much in most circumstances because of the keep alive is already in use. It would definitely help some, at most 6xRTT, but in practice much less, probably 1-2xRTT.
As for the packet loss issue, given enough data, selective ACK already solves that problem.
This doesn't sound like a programmer issue but faulty by design.
Here is some reading for you, just below the first page, you can see some "real-world" tests against 25 of the top 100 websites in the world using SPDY, which HTTP 2.0 borrows from: http://dev.chromium.org/spdy/spdy-whitepaper
Well let's start at the beginning of networking 101.
Block protocols that do handshaking perform poorly over high latency links. Windowing protocols fixes this by having always data flowing.
HTTP 1.1's keep alive pipelining, is a form of handshake, where not until the receiver gets the very last byte can it then transmit that it wants something else. Multiplexing is the fix, by always having data flowing since there is another resource to send.
Similar things occur because of packet loss in HTTP 1.1. Since the receiver can't begin to request anther resource until it has finished receiving the prior one, the packet loss effectively stops/pauses the transmission until a new packet is received. HTTP 2.0 fixes this because another resource can be requested at any time, and the server can even send down resources the client hasn't requested yet.
RTFM
HTTP 1.1 doesn't already do multiplexing. It's sequentially requesting things one after another, incurring latency between each request -- although it's doing it over a single TCP connection, so you don't have to go through the 3-way handshake again. It also doesn't allow you to set priorities for the request so that the most important assets come to you first (most of today's browsers do attempt to do this somewhat now). The header is also resent for each request, and it can be fairly considerable when you include all the miscellaneous stuff like cookies, user agent strings, accept, language, etc etc that really only need to be sent once, not once per request. The headers aren't compressed in HTTP 1.1 either.
Apparently HTTP 2.0 is also much more efficient in noisy environments where packets get lost. The more packetloss, the better HTTP 2.0 will perform over HTTP 1.1.
I think you are being very very kind, unless you count the intertubes.
you don't make cows out of hamburgers.
Depends on how many she eats.
SPDY is over TCP not UDP as you suggest.
http://mbelshe.github.io/SPDY-Specification/draft-mbelshe-spdy-00.xml#rfc.section.1.1
Uh, no. Where a HTTP header's value ends and the next header begins is well defined. They can span multiple lines only in predefined ways (begin next line with space or tab). Parsing the headers out, and ignoring the ones you don't understand is a trivial task.
Only if you compress after encryption, but your compression would likely be very poor if you did that. In all compression schemes, there is telltale signs that it's been compressed, either through a dictionary lookup placed somewhere in the compression stream, or similar. Encrypted compression therefore allows some insight into the key that was used to encrypt it since you are guaranteed certain parts you can unencrypt or at the very least vastly lower the probabilities, severely weakening any encryption scheme you use.
Everything about your post is wrong. Cookies are transmitted with each request. ASP.NET Webform's viewstate is transmitted to and from each page, if enabled. Although HTTP 2.0 doesn't solve either of these problems, and the text nature of most HTTP requests has very little to do with the speed of the protocol. Changing to a binary protocol will likely shave off TENS of bytes on each request. You won't notice, even with a timer accurate to the millisecond.
They are failing to compete, severely
I agree. Microsoft should have done something long before Linux hit 0.97% marketshare.
I was going to write a technical book called Secure Boot for dummies, but I got as far as:
Go to your BIOS, and check the box that says "Disable Secure Boot". Then click save.
Then I realized I was done. Now on sale @Amazon for $24.95!