前端必备网络基础知识

258 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

前言

本文主要内容:总结了互联网、浏览器等的相关内容

什么是Internet

概述

从具体构成的角度可以较为清晰的解答这个问题,即节点、边、协议构成的通讯系统

起源于一个美国国防部的研究计划ARPANET(Advanced Research Projects Agency NETwork)
当时想建立一个能够抵御核弹的通讯系统,所以将信息拆成一个个小的区块,然后尽可能快的在网状网络上向各个可能的方向传输信息
  • 节点:主机及其上的应用;路由器、交换机等网络交换设备
  • 边:通信链路
  • 协议:HTTP协议、TCP/IP协议等

Internet的运行

没有人在维护Internet的运行,或者说,每个人都在维护Internet的运行

Internet由大量独立工作的网络构成,是一个完全的分布式系统,没有集中化的对信息的处理与构建。

什么是HTTP

超文本传输协议(HyperText Transfer Protocol),可以理解为一台计算机和另一台计算机交流的语言

HTTP工作流程

  1. 原始状态:客户端和web服务器之间没有关系
  2. 客户端向web服务器发送请求,建立连接
  3. 服务器沿着连接返回相应信息
  4. 客户端收到响应,HTML代码翻译
  5. 断开连接

请求头和响应头的格式

请求头 image.png 响应头 image.png

状态码和状态文字

  • 1XX:接收到请求,继续处理
  • 2XX:请求成功
  • 3XX:请求重定向
  • 4XX:客户端请求错误
  • 5XX:服务端出现问题

浏览器及其工作方式

浏览器的构成

用户界面 -> 浏览器引擎 -> 渲染引擎(内核)

不同浏览器的内核:
IE(Trident)、Firefox(Gecko)、Safari(Webkit)、Opera/Edge/Chrome(Blink)

浏览器工作流程

  1. 当你在浏览器地址栏输入时,浏览器的UI线程会捕捉你输入的内容:如果输入的是一个网址,UI线程会启动一个网络线程来请求DNS进行域名解析,接着连接服务器获取数据;如果输入的不是网址,则启用搜索线程
  2. 当网络线程获取数据后,利用SafeBrowsing检查是否安全,返回结果给UI线程
  3. 如果安全,UI线程创建一个渲染器进程来渲染页面,同时浏览器进程通过IPC管道将数据传递给渲染器进程,正式进入渲染流程
  4. 将接收到的html、css、js、image等资源渲染成用户可以交互的web页面

image.png

DNS及其工作方式

域名管理系统(Domain Name System)

互联网每一台电脑都有一个ip地址,域名和IP是绑定的,DNS将域名翻译为IP地址,因此在地址栏输入域名能够访问到对应的ip地址

DNS工作流程

  1. 用户在地址栏输入 ‘example.com’ ,然后这个请求通过互联网,被DNS递归解析器接收到
  2. 解析器访问DNS根域名服务器(.)
  3. 根服务器响应解析器给它的顶级域名(如.com 或者 .net)。 当搜索example.com时,我们的请求指向的顶级域名就是.com
  4. 解析器于是向.com域发出请求
  5. 然后顶级域名服务器返回域名服务器的IP地址
  6. 最后,递归解析器向域名服务器发送一个查询
  7. example.com的IP地址然后从域名服务器返回给解析器
  8. DNS解析器用最初请求的域名的IP地址响应web浏览器
  9. 浏览器向该IP地址发起HTTP请求
  10. 该IP的服务器返回要在浏览器中呈现的网页

image.png