TranslateProject/sources/tech/20190912 New zine- HTTP- Learn your browser-s language.md
DarkSun a1525f92f9 选题: 20190912 New zine: HTTP: Learn your browser's language!
sources/tech/20190912 New zine- HTTP- Learn your browser-s language.md
2019-09-17 12:22:48 +08:00

9.7 KiB
Raw Blame History

New zine: HTTP: Learn your browser's language!

Hello! Ive released a new zine! Its called “HTTP: Learn your browsers language!”

You can get it for $12 at https://gum.co/http-zine. If you buy it, youll get a PDF that you can either read on your computer or print out.

Heres the cover and table of contents:

https://jvns.ca/images/http-zine-toc.png

why http?

I got the idea for this zine from talking to Marco Rogers he mentioned that he thought that new web developers / mobile developers would really benefit from understanding the fundamentals of HTTP better, I thought “OOH I LOVE TALKING ABOUT HTTP”, wrote a few pages about HTTP, saw they were helping people, and decided to write a whole zine about HTTP.

HTTP is important to understand because it runs the entire web if you understand how HTTP requests and responses work, then it makes it WAY EASIER to debug why your web application isnt working properly. Caching, cookies, and a lot of web security are implemented using HTTP headers, so if you dont understand HTTP headers those things seem kind of like impenetrable magic. But actually the HTTP protocol is fundamentally pretty simple there are a lot of complicated details but the basics are pretty easy to understand.

So the goal of this zine is to teach you the basics so you can easily look up and understand the details when you need them.

what it looks like printed out

All of my zines are best printed out (though you get a PDF you can read on your computer too!), so here are a couple of pictures of what it looks like when printed. I always ask my illustrator to make both a black and white version and a colour version of the cover so that it looks great when printed on a black and white printer.

https://jvns.ca/images/same-origin-policy.jpeg

(if you click on that “same origin policy” image, you can make it bigger)

The zine comes with 4 print PDFs in addition to a PDF you can just read on your computer/phone:

  • letter / colour
  • letter / b&w
  • a4 / colour
  • a4 / b&w

zines for your team

You can also buy this zine for your team members at work to help them learn HTTP!

Ive been trying to get the pricing right for this for a while I used to do it based on size of company, but that didnt seem quite right because sometimes people would want to buy the zine for a small team at a big company. So Ive switched to pricing based on the number of copies you want to distribute at your company.

Heres the link: zines for your team!.

the tweets

When I started writing zines, I would just sit down, write down the things I thought were important, and be done with it.

In the last year and a half or so Ive taken a different approach instead of writing everything and then releasing it, instead I write a page at a time, post the page to Twitter, and then improve it and decide what page to write next based on the questions/comments I get on Twitter. If someone replies to the tweet and asks a question that shows that what I wrote is unclear, I can improve it! (I love getting replies on twitter asking clarifiying questions!).

Here are all the initial drafts of the pages I wrote and posted on twitter, in chronological order. Some of the pages didnt make it into the zine at all, and I needed to do a lot of editing at the end to figure out the right order and make them all work coherently together in a zine instead of being a bunch of independent tweets.

Writing zines one tweet at a time has been really fun. I think it improves the quality a lot, because I get a ton of feedback along the way that I can use to make the zine better. There are also some experimental 45 second tiny videos in that list, which are definitely not part of the zine, but which were fun to make and which I might expand on in the future.

examplecat.com

One tiny easter egg in the zine: I have a lot of examples of HTTP requests, and I wasnt sure for a long time what domain I should use for the examples. I used example.com a bunch, and google.com and twitter.com sometimes, but none of those felt quite right.

A couple of days before publishing the zine I finally had an epiphany my example on the cover was requesting a picture of a cat, so I registered https://examplecat.com which just has a single picture of a cat. It also has an ASCII cat if youre browsing in your terminal.

$ curl https://examplecat.com/cat.txt  -i
HTTP/2 200
accept-ranges: bytes
cache-control: public, max-age=0, must-revalidate
content-length: 33
content-type: text/plain; charset=UTF-8
date: Thu, 12 Sep 2019 16:48:16 GMT
etag: "ac5affa59f554a1440043537ae973790-ssl"
strict-transport-security: max-age=31536000
age: 5
server: Netlify
x-nf-request-id: c5060abc-0399-4b44-94bf-c481e22c2b50-1772748

\    /\
 )  ( ')
(  /  )
 \(__)|

more zines at wizardzines.com

If youre interested in the idea of programming zines and havent seen my zines before, I have a bunch more at https://wizardzines.com. There are 6 free zines there:

next zine: not sure yet!

Some things Im considering for the next zine:

  • debugging skills (I started writing a bunch of pages about debugging but switched gears to the HTTP zine because I got really excited about that. but debugging is my favourite thing so Id like to get this done at some point)
  • gdb (a short zine in the spirit of lets learn tcpdump)
  • relational databases (whats up with transactions?)

via: https://jvns.ca/blog/2019/09/12/new-zine-on-http/

作者:Julia Evans 选题:lujun9972 译者:译者ID 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出