成为一个合格的前端工程师 - HTTP - 0

前言

HTTP 我打算阅读《HTTP权威指南》,并分章节做笔记。其中会漏掉我认为不是必要或者在那个章节还没有仔细说明的知识,因为感觉事无巨细的列出来是教科书的事。

第一章

第一章并没啥知识点

MIME : HTTP传送的数据一般会放在请求体中,而请求体是二进制的数据, 所以理论上能支持众多数据类型。HTTP 对这些类型做了分类,叫做 MIME (Multipurpose Internet Mail Extension). 应用程序如浏览器接受到一个数据时,就会根据不同的 MIME 做分别处理。
MIME 一般放在HTTP报文的首部中的 Content-type 中如 : Content-type: image/jpeg;

第二章 URL 与资源

URL 寻找信息所需的资源位置

URL 的组成

URL一般有9个部分(一般用不了9个)

结构如下:

<协议>://<用户>:<密码>@<端口号>/<路径>;<参数>?<查询词>#<哈希值>


URL结构图

自行 google ,一个个的介绍说了也记不住。

URL 快捷方式

并不是每一个URL都需要严格的写满访问资源所需的全部信息。

这个知识点应该对爬虫程序也有帮助,因为工作的时候有个写爬虫的过来问我相关的知识

举个例子:
如果你在 www.baidu.com/xxx/xxx页面中有这样一个超链接

    <a href="./bbb.html">./bbb.html</a>

这里的超链接地址是合法的。点击会发现页面跳转到 www.baidu.com/xxx/bbb.html 。这里的./bbb.html也是一个合法的 URL 。 这种 URL 叫做相对 URL 。但最后请求的 URL 也还是要是一个完整的URL吧。这就需要一套从相对 URL 到完整 URL 的规则。请看下面。

基础 URL : 既然是相对 URL ,那么相对谁呢,相对的 URL 就叫做基础 URL
还是上面 html 为例 (写前端的只知道这些。。)基础 URL 就是 www.baidu.com/xxx/bbb.html 全部,全部,全部。在html中有个显示改变基础 URL 的标签 <BASE> 有印象就行了,就没遇到过(希望你不会用到,维护起来应该摸不着头脑)。

生成绝对 URL 规则如图:


url拼接图

总结:
1.如果你的相对 URL 带协议的话,那这个就是最终的 URL 。
2.相对URL如果非空,且带前置 / ,如 '/hello',最终URL等于基础URL路径替换为相对URL之后的URL。如 相对URL 为 ‘/hello', 基础URL为 ‘www.baidu.com/balabala/balabla'. 那么最后生成 www.baidu.com/hello.
3.如果上两例都不是。那么就根据相对URL 缺少的部分与基础URL拼接。
如。 ‘./babba’与‘www.baidu.com/path/path2#afwe’ ,生成 www.baidu.com/path/babba.

个人测试demo:

url-test-demo.jpg

URL使用的编码

当你在 URL 输入框输入中文的时候,你可能发现你输入的中文会变%xx%xx的形式(如果没有,请按 F12 查看Network)。这说明URL只支持部分字符。

why ?

  1. 有部分协议只支持ASCII 码。如 SMTP
  2. URL 要求大家能看到,如果打入空格、换行符、甚至是一些不可见的字符如/u0000 ,从网络传输来讲这不算问题,但是对我们不太友好,毕竟看不见。所以URL也限制了协议字符。

那么问题来了
1.有时我们就需要用超过ASCII范文的字符,例如上例的搜索,难道我们要用http报文的请求体来发送数据吗,显然太麻烦,性能也不好。
2.还记得上面的篇幅中URL的格式吧,里面有‘/','?','#’这样的字符,如果我们就想发送这些字符呢?怎么能不混淆

how?

答案是转译。就是有一套规定把这些不合法的字符转化为另一个格式。
URL 的转译方法是使用 %% 的形式转换。
再细分两种,一种应对与符合编码的非法字符 ASCII 。
如 % -> 25(ASCII) -> %25;
超过ASCII范围的字符,因为用不同的编码有不同的结果,所以没有说法。但是思路还是一样的。以‘中‘使用Unicode为例子
中 -> 4E2D(Unicode) -> %4E%2D 。

非ASCII范围的具体使用哪种编码情况很多,可以参考 关于URL编码 - 阮一峰 ,但是个人感觉这种前后端约定好就行了,那可能考虑那么多。

url字符限制表.jpg

结语

第二章结束,好像没啥知识点。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容