计算机基础知识

URL,SEO,字符编码

1. URL

  • URL代表着是统一资源定位符(Uniform Resource Locator)
  • URL 无非就是一个给定的独特资源在 Web 上的地址
    • 理论上说,每个有效的 URL 都指向一个唯一的资源
    • 这个资源可以是一个 HTML 页面,一个 CSS 文档,一幅图像,等等

1.1. URL的格式

  • URL的标准格式
    • [协议类型]://[服务器地址]:[端口号]/[文件路径][文件名]?[查询]#[片段ID]

1.2. URL和URI的区别

  • URL vs URI

    • URI = Uniform Resource Identifier 统一资源标志符,用于标识 Web 技术使用的逻辑或物理资源
    • URL = Uniform Resource Locator 统一资源定位符,俗称网络地址,相当于网络中的门牌号
  • URI在某一个规则下能把一个资源独一无二的识别出来

    • URL作为一个网络Web资源的地址,可以唯一将一个资源识别出来,所以URL是一个URI
    • 所以URL是URI的一个子集
    • 但是URI并不一定是URL
  • locators are also identifiers, so every URL is also a URI, but there are URIs which are not URLs.

2. SEO

  • 搜索引擎优化(search engine optimizationO)

  • 通过了解搜索引擎的运作规则来调整网站, 以及提高网站在有关搜索引擎内排名的方式

  • SPA以及SSR相关的概念

    • 它们也有SEO、首屏渲染速度有关

3. 认识字符编码

  • 计算机是干什么的

    • 计算机一开始发明出来时是用来解决数字计算问题的,后来人们发现,计算机还可以做更多的事,例如文本处理
    • 但计算机其实挺笨的,它只认识010110111000…这样由0和1两个数字组成的二进制数字
    • 这是因为计算机的底层硬件实现就是用电路的开和闭两种状态来表示0和1两个数字的
    • 因此,计算机只可以直接存储和处理二进制数字
  • 为了在计算机上也能表示、存储和处理像文字、符号等等之类的字符,就必须将这些字符转换成二进制数字

  • 当然,肯定不是想怎么转换就怎么转换,否则就会造成同一段二进制数字在不同计算机上显示出来的字符不一样的情况,因此必须得定一个统一的、标准的转换规则

  • 字符编码的发展历史可以阅读文章:https://www.jianshu.com/p/899e749be47c

4. 认识进制

  • 进制的概念

    • 维基百科:进位制是一种记数方式,亦称进位计数法或位值计数法
    • 通俗理解:当数字达到某个值时,进一位(比如从1位变成2位)
  • 按照进制的概念,来理解一下十进制

    • 当数字到9的时候,用一位已经表示不了了,那么就进一位变成2位
  • 按照上面的来理解,二进制、八进制、十六进制

    • 二进制:当数字到1的时候,用一位已经表示不了了,那么就进一位
    • 八进制:当数字到7的时候,用一位已经表示不了了,那么就进一位
    • 十六进制:用一位如何表示十六个数字呢?a(10)、b(11)、c(12) 、 d(13) 、 e(14) 、 f(15)

4.1. 十进制

  • 平时使用的数字都是十进制的

  • 从发明数字的开始,人类就使用十进制,原因可能是人类正好十根手指

    • 如果人类有八根手指,现在用的可能是八进制
  • 所以说,十进制就是放之四海而皆准的常理吗?

    • 并不见得,计算机就认为二进制、八进制、十六进制更符合自己的思维
  • 常识就是人到十八岁为止所累积的各种偏见

  • Common sense is the collection of prejudices acquired by age eighteen.阿尔伯特·爱因斯坦(Albert Einstein)

4.2. 计算机中的进制

  • 为什么计算机更喜欢二进制呢?

    • 和其底层的原理有关系
  • 如何表示二进制、八进制、十六进制

    • 二进制(0b开头, binary):其中的数字由0、1组成,可以回顾之前学习过的机器语言
    • 八进制(0o开头, Octonary):其中的数字由0~7组成
    • 十六进制(0x开头, hexadecimal):其中的数字由0~9和字母a-f组成(大小写都可以)
  • 十进制 or 二进制

    • 虽然计算机更喜欢二进制, 但是编程中还是以十进制为主
    • 因为高级编程语言的目的就是更加接近自然语言, 更容易理解

4.3. 进制之间的转换

  • 十进制转其他进制

    • 整除, 取余数
  • 其他进制转十进制

    • 比如二进制的1001转成十进制
      • 1 * $2^3$ + 0 * $2^2$ + 0 * 2 + 1 = 9
    • 比如八进制的1234转成十进制
      • 1 * $8^3$ + 2 * $8^2$ + 3 * 8 + 4 = 668
    • 比如十六进制的522转成十进制
      • 5 * $16^2$ + 2 * 16 + 2 = 1314
  • 二进制转八进制

    • 三位转成一位八进制
  • 二进制转十六进制

    • 四位转成一位十六进制
本文结束  感谢您的阅读
  • 本文作者: Wang Ting
  • 本文链接: /zh-CN/2019/01/24/计算机基础知识/
  • 发布时间: 2019-01-24 13:19
  • 更新时间: 2025-05-14 23:24
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!