HTML
文本(text)和字符串(string)和二进制(binary)是三个层面的东西。
- 字符串是对文本的序列化,
- 二进制是对字符串的序列化。
同样的文本在不同平台上表示成不一样的字符串 ,正如同样的字符串在不同编码下表示成不同二进制。
- text描述的是一段自然语言文字,
- string是为了传输或存储这个text而用来表示这一段文字的字符序列。
比如abc
这个text,在主流终端传输时,用字符串可以表示为"abc"
,
也可以表示为"abb\bc"
,即先多打一个b
再打一个退格符\b
删掉。
你可以想想为什么http传输json的mime是application/json
而不是text/json
。
因为json官网http://json.org
明确规定了json的换行符具体是哪个unicode字符,
因此json是对js object的string表示,而不是对js object的text表示。
同理,为什么http传输html的类型是text/html
而不是application/html
。
因为html是hyper text而不是string。所以http协议会将html这个text转换成string,
再转换成binary发出去,对方收到之后会将binary转为string再转为对方平台里的text。
此时换行符可能变了,trailing spaces可能删了,ending newline可能删了,
甚至tab变成了4个空格。
不过没关系,虽然string和原来不一样了,但text和原来一样。
HTML
HTML基础:html.basic
html5离线模式:html5.offlineStore
html5 websocket: html5.websocket
css
css/change-theme:动态切换CSS皮肤
CSS风格:整体架构:css.code-style.archtech
CSS风格:规则:css.code-style.detail.01
CSS风格:BEM/OOCSS支持插件:css.code-style.bem.oocss.support