
HTTP 2.0: GTFO (General Termination of Future Operations) - ryanf
http://http2.github.io/http2-spec/#GTFO
======
RyanZAG
The complexity difference between HTTP1 and HTTP2 is pretty huge. Not sure if
they're even remotely the same protocol anymore.

~~~
bitwize
The old Unix model (simple, do one thing, text formats, etc.) is dead. The
world has come to prefer code and protocols which perform well at scale.

~~~
wmf
Since the semantics of 1.1 and 2.0 are the same (besides push) you can choose
which encoding you prefer based on your requirements and constraints. In fact,
maybe we should rename HTTP/1.1 to "HTTP/2.0 Textual Encoding" or something so
that people can feel like they're not missing out on anything. It worked for
USB 2.0.

~~~
josteink
Or we can call SPDY^WHTTP 2.0 "binary barf kitchensink internet multiplex
protocol" instead.

Let's not taint good, old HTTP in the process please.

~~~
salgernon
I've never understood this sentiment. Its not like we can know what is passing
through the boxes by watching the blinkenlights - this isn't paper tape
anymore.

You have to use tcpdump to break up the binary bits - and since its likely
encrypted, set up the appropriate certificates if you want to decipher
arbitrary traffic anyway.

If its your own app, you know what requests are going where and can hex dump
them any way you choose.

The whole "its binary so its bad" thing is a complete non-issue. I've heard
people complaining "netcat doesn't work anymore" but there's no reason why
netcat2 can't be used to talk to arbitrary HTTP/2.0 endpoints.

Sorry, I lost some mates in the SOAP wars of the late 90s and I'm still
bitter.

~~~
ubernostrum
Personally, my issue with HTTP 2 is that it seems to be designed from the
assumption that Google-scale is the common or even only use case, and that
optimizing Google's bandwidth use is the sole purpose of HTTP.

~~~
salgernon
To me, the real reason is that we want to get to the point where all traffic
is secure, and since the cost of establishing that secure connection is high
we should do more with the secure connections we've got before letting it
drop!

------
sdegutis
This play on words is a pretty okay joke.

~~~
EdwardDiego
I'm cringing currently. It seems funny now, but in ten years, it'll be as
funny as a Java class file's header being 0xCAFEBABE is.

~~~
mseebach
I'd much rather have a joke that doesn't age well than a completely wit-less
corporate committee specification.

0xCAFEBABE isn't laugh-out-loud funny (not sure it ever was), but I find it a
comforting reminder that Java was actually written by humans. The "Duke"
mascot, too. It's not at all hard to imagine an underemployed middle manager
learning about it and demanding it being changed, in fear that the Important
and Serious people who would write Important and Serious software in Java
would think it's not an Important and Serious language.

~~~
diminoten
0xCAFEBABE is (I can't believe I'm going to do this) vaguely sexist though, so
the cringe for me, at least, is thinking about my daughter reading that and
thinking her father came up with it, and thus believing "BABE" is the kind of
phrase dad would use to describe women in general.

Or maybe I'm over-reacting. No idea.

~~~
mseebach
Yes, you're overreacting. Babe is an endearing term. It's sexist only in the
sense that it identifies the gender of the subject of endearment.

~~~
LaGrange
> Babe is an endearing term.

No it’s not. It’s only claimed to be by the users for plausible deniability,
which actually makes it extra-bad.

> Yes, you're overreacting.

No, they’re not. But the three people jumping out and screaming „overreacting”
and „endearing” probably are panicking.

~~~
myko
I agree that cafe babe is sexist (like 'booth babe'). The word babe itself is
completely endearing though - my SO and I call one another that all the time.

~~~
LaGrange
Quite a few black people use the term „nigger” between themselves, and I know
at least one couple that adopted „asshole” as an affectionate term. Not to
mention completely ridiculous yet popular terms like „pumpkin”.

Just because some people adopted the word in some narrow context doesn’t
change its meaning outside of it. There’s many behaviors that are common and
acceptable towards your significant other and yet completely demeaning when
applied to a barista (that doesn’t happen to be your significant other). So,
whatever people call each other while watching Star Wars reruns is utterly
irrelevant here.

~~~
sp332
The thing with calling someone "babe" is that it's too... forward? It's
something that you call people you already know, so saying "babe" to a
stranger is presumptuous. Anything in that category would have the same effect
I think: honey, sweetheart.

It's also possible to use it in a belittling way, but I can't think of any
synonym for "woman" which couldn't, if you use the right tone of voice. That's
just general sexism, and the word "babe" wouldn't be worse than "lady" with
the same delivery.

If you're talking about something that's not in those two categories, could
you like me to it so I can see what you're talking about?

~~~
LaGrange
You could say "good morning" in a demeaning way, if you used a certain tone.
It depends on specific culture, but usually there's certain very obvious (I
have aspergers, so if I can see them, everyone can) protocols of interaction
with people you don't know well. And in most situations you'd use the word
"babe" at someone you don't know _very_ well you probably shouldn't speak at
all. The one exception that comes to my mind is "you're an actor and that's
your line". So, yes, it's quite a bit worse than "miss". "Lady" only in third
person, like "that lady just drove an 18 wheeler over my foot!"

But yes, honey and sweetheart would work just as badly. And yes, there's quite
a few words that are worse. But "hey, they could do worse!" is no real
argument. Sure they could.

------
thristian
For people interested in a high-level overview of HTTP 2.0 and why an update
to HTTP 1.1 is needed, the chair of the relevant IETF working group gave a
talk a couple of weeks ago at linux.conf.au called "HTTP 2.0 And You":

    
    
        http://www.youtube.com/watch?v=DiWEu6f65VE

------
kalleboo
Also noticed further down, the error code ENHANCE_YOUR_CALM

~~~
chipaca
That one is documenting existing practice
[http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#420](http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#420)

------
skywhopper
Oh dear, how did I miss HTTP 2.0? And why are they trying to reimplement TCP
exactly?

HTTP's simplicity _is_ the reason it's been so successful and proved so
flexible. Please don't throw it away.

~~~
aidenn0
Te be fair, they are actually trying to reimplement a subset of SCTP. HTTP
over SCTP gets all of the advantages of SPDY (which HTTP2 is based off of)
except for the header-compression (which could have been separately
implemented). Unfortunately NATs don't handle SCTP so you are left with
implementing SCTP over UDP, and NATs also don't handle UDP as well as they do
TCP, since UDP is stateless.

~~~
rakoo
> Unfortunately NATs don't handle SCTP

It's more than that; pretty much nothing in the wild handles SCTP, and they
wanted to build something that can be gradually transitioned to (it will be a
rough transition for sure, but it's still supposed to be HTTP).

------
SaveTheRbtz
I still can't decide whatever it's childish or fking awesome!

~~~
chipaca
It means an engineer (or a number of them) is actually having fun while
building this. It's a good sign.

------
pwpwp
I don't think profanity has a place in network protocols.

~~~
Karunamon
It's a good thing there's no profanity in this one, huh?

~~~
teacup50
Yeah, nobody knows what 'GTFO' means ...

------
NoCowLevel
"Receivers of a GTFO frame MUST NOT open additional streams on the connection,
although a new connection can be established for new streams." Shouldn't that
be "a new connection can be established for existing streams"? (Or did I
misunderstand something here?)

~~~
Ari_Rahikkala
You did misunderstand. Read the next sentence:

> The purpose of this frame is to allow an endpoint to gracefully stop
> accepting new streams (perhaps for a reboot or maintenance), while still
> finishing processing of previously established streams.

------
darkhorn
[http://www.cnnturk.com/bilim-teknoloji/internet/kabul-
edilen...](http://www.cnnturk.com/bilim-teknoloji/internet/kabul-edilen-
internet-yasasinin-son-hali) now secure connection is must

------
eduardoejp
Bits or GTFO

------
userbinator
Something about this reminds me of RTP...

------
returnint
what does GTFO stand for?

~~~
kul_
get the f __k out!

~~~
kevinchen
No, it stands for "General Termination of Future Operations."

~~~
hariharasudhan
no, its both :P

~~~
chc
It also stands for Great Tanzanian Flying Orangutans and thousands of other
things (in the sense that it forms an initialism of those words), but the
standard definitely uses General Termination of Future Operations.

~~~
vidarh
That may be so, but I have a very hard time believing that GTFO was not chosen
because of its more established meaning.

~~~
kevinchen
I have no idea what you're talking about. :-)

------
vsviridov
Needs TITS verb now to complete the picture.

~~~
knieveltech
You code in Ruby don't you.

~~~
Karunamon
Thanks for that, now I don't know which of you two are trying to be more
intentionally offensive.

