前后端职业路线发展规划及相关基础知识

 

(原文引用:https://developer.mozilla.org/zh-CN/docs/Learn/Common_questions/How_does_the_Internet_work)

一、互联网是如何工作的

1.基本概念

        互联网是网络的支柱,以这种技术为基础使网络成为可能。作为基础,互联网是把电脑互相连接起来的一个巨大网络。

        互联网的历史有些模糊不清,它始于1960年美国军方资助的研究项目。1980年在许多公共大学和公司的支持下,它演变为一种公共基础设施。随着时间的变化,各种各样的技术支持着互联网的发展,但是它的工作方式却没有改变多少:互联网确保所有的电脑之间的连接,无论发生什么他们依旧保持连接。

2.深入探索

        当两台电脑需要通信时,你必须要通过某种方式例如有线(网线)、无线(wifi、蓝牙)等方式进行连接。

        但通常一个网络不仅限于两台电脑。你可以尽你所想地连接电脑,但是情况立刻变得复杂了。如果你尝试连接,比如说十台电脑,每台电脑有九个插头,总共需要45条网线。

        为了简化线路连接的硬件问题,想要接入互联网上的每台电脑都需要连接到一个路由器(router)的特殊小型电脑上。路由器会在信号传输过程中进行甄别筛选,确保从一台电脑上发出的一条信息可以到达正确的电脑。而引入路由器之后线路将会大大简化,每台电脑只需要一个插口一种连接方式,而其他响应则统一归到了路由器上。

3.网络结构

        引入路由器的概念之后,已经简化了地区内的连接机制,但是真正要连接上数以亿计的电脑凭借一两台路由器肯定是不够的,而在前文中也曾提到,路由器的本质也是一种微型电脑,只是功能集中体现在了信号处理传输上,所以我们便可以想到,将多个路由器之前相互连接。

        发展到上面这种形式已经就非常接近我们平常所提到的互联网了,但是数量如此庞大的设备集群,通过在你的房子和世界其它地方之间架设电缆将这些不同的网络连接起来是不可能的,但是每家每户都有电线与电话等基础设施,所以我们所需要的连接媒介已经有了,但是电话与网络终究存在基础的差异,为了调和这种差异我们需要用到一种设备---调制解调器(modem),调制器可以把网络信息变成电话设施可以处理的信息,反之亦然。

        这样,我们的电脑就已经可以通过电话基础设施相互连接了,下一步就是将我们电脑的信息分享发送到任何我们想要到达的地方。为此,我们需要把我们的网络连接到互联网服务提供商(ISP)。ISP是一家可以管理一些特殊路由器的公司,这些路由器连接其他ISP的路由器,而你通过路由器发出的消息能够被ISP捕获并且发送到相应的网络,至此互联网就彻底形成了。

4.精准连接

        在庞大的互联网体系中,如果你想精准的给某一台电脑发送信息,你必须通过某种媒介指明它是哪台电脑,而这个媒介对于每一台连接到网络中的电脑都应该是唯一的,这个媒介就是"IP地址"(IP代表网络协议)。这个地址由四部分被点分隔的数字序列组成,比如:192.168.2.10。

        而这样的IP虽然简短,但是对于人类而言很难记忆,所以为了简单化处理,我们给IP地址取了一个容易理解记忆的别名:域名。例如:google.com代表了IP地址172.217.7.14。

5.互联网(Internet)和网络(web)

        从上文中,我们已经提出了通常使用域名去寻找一个IP地址访问一个网站。但这并不意味着互联网(Internet)与网络(Web)是一样的。正如概念中提到,互联网只是一种基础的技术,它的存在帮助我们吧成千上万的电脑连接了起来。在这些电脑当中,有一部分电脑(我们称之为网络服务器Webservers)可以发送一些浏览器可以理解的信息。互联网是基础设施,网络是建立在之上的服务。还有其他的一些服务同样运行在互联网上,例如邮箱等。

二.万维网是如何工作的

1.万维网基础概念

        WWW (World Wide Web,万维网)是存储在Internet计算机中、数量巨大的文档的集合。这些文档称为页面,它是一种超文本(Hypertext)信息,可以用于描述超媒体文本图形视频音频多媒体,称为超媒体(Hypermedia)。Web上的信息是由彼此关联的文档组成的,而使其连接在一起的是超链接(Hyperlink) 。

        超文本(Hypertext)是由一个叫做网页浏览器(Web browser)的程序显示。网页浏览器从网页服务器取回称为“文档”或“网页”的信息并显示。通常是显示在计算机显示器。人可以跟随网页上的超链接(Hyperlink),再取回文件,甚至也可以送出数据给服务器。顺着超链接走的行为又叫浏览网页。相关的数据通常排成一群网页,又叫网站

        注意:互联网是线路、协议以及通过TCP/IP协议实现数据电子传输的硬件和软件的集合体。而万维网(www)、文本传输(FTP)等只是通过互联网提供的服务。

2.客户端和服务器

        连接到互联网的计算机通常分为客户端和服务器。

        客户端是典型的Web用户入网设备(比如,你连接了Wi-Fi的电脑,或接入移动网络的手机)和设备上可联网的软件(通常使用像 Firefox 和 Chrome的浏览器)

  • 服务器是存储网页,站点和应用的计算机。当一个客户端设备想要获取一个网页时,一份网页的拷贝将从服务器上下载到客户端机器上来在用户浏览器上显示。

3.浏览器运行机制

        1.浏览器在域名系统(DNS)服务器上找出存放网页的服务器的实际地址。

        2.浏览器发送HTTP请求信息到服务器来拷贝一份网页到客户端,这条消息,包括其他所有在客户端和服务器之间的传递数据都是通过互联网使用TCP/IP协议传输的。

        3.服务器同意客户端请求后,返回一个code 200,意味着你可以查看这个网页,然后开始将网页的文件以数据包的形式传输到浏览器。

        4.浏览器将接收到的数据包聚集成完整的网页然后将网页呈现给你。

4.DNS解析

        DNS:域名系统服务器---网站通讯录,当你在浏览器内输入一个网址是,浏览器获取网页之前会先查看域名系统。浏览器需要找到存放你想要的网页的服务器,才能发送HTTP请求到争取的地方。

        上文中提到真正的网址并非你所输入到的搜索框中的东西一样便于记忆,而是一串串IP地址例如:63.245.217.105。

        IP地址代表了一个互联网上独特的位置,但是并不好记忆,所以发明了DNS域名系统。

5.通讯协议

        在前文中提到过了很多协议,我们需要了解什么是通讯协议。

        首先通讯指的是什么?我们考虑到一个基本的通讯场景所需要的东西。

        a.通讯是双方的。(可能是软件间、设备间、人员间)

        b.通讯的方式。

        语义(数据格式和编码)

        语义(控制信息和数据处理)

        计时(速度匹配和排序)

        当两个人见面时,他们使用通信协议进行互动:例如,在日本,一个人将对身体做出特定的手势。弓是一种这样的手势,它是用于交互的语法。在日本习俗中,鞠躬的手势(除其他外)与问候某人的语义相关。最后,当一个人向另一个人鞠躬时,已经在特定的时间在两者之间建立了一系列事件。

        通讯协议

在线通信协议包含相同的元素。语法将是字符序列,例如我们用于编写协议的关键字。语义是与这些关键字中的每一个相关联的含义,最后,计时是两个或多个实体交换这些关键字的顺序。

6.HTTP协议

        HTTP是位于通讯协议之上的应用程序协议。

        HTTP是Hypertext Transfer Protocol的缩写,即超文本传输协议。此协议提供了访问超文本信息的功能,是www浏览器和www服务器之间的应用层通信协议。HTTP协议是用于分布式协作超文本信息系统的、通用的、面向对象的协议。通过扩展命令,它可用于类似的任务,如域名服务或分布式面向对象系统。www使用HTTP协议传输各种超文本数据与页面。

        HTTP本身在其他协议之上运行。当连接到网站时,用户代理正在使用TCP/IP协议套件。

HTTP协议的会话过程包括了4个步骤。

        1) 建立连接:客户端浏览器向服务端发出建立连接的请求,服务端给出响应。

        2) 发送请求:客户端按照协议要求通过链接想服务端发送自己的请求。

        3) 给出应答:服务端按照客户端的要求给出应答,把结果(HTML文件)返回客户端。

        4) 关闭连接:客户端接到应答后关闭连接。

7.TCP/IP协议

        TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议) 是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指的一个由FTPSMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

        TCP/IP模型设计于1970年,有4个不同的层:

        a.链接 描述对物理介质的访问(例如,使用网卡)

        b.因特网 描述了数据的信封和路由-它是如何打包的(IP)

        c.传输 描述了从起点到最终目的地(TCP,UDP)的数据传输方式

        d.应用程序 描述了一传输消息(HTTP)的含义与格式

TCP/IP协议的特点:

        1)协议标准是完全开放的,可供用户免费使用,并且独立于特定的计算机硬件与操作系统。

        2)独立于网络硬件系统,可以运行在广域网中,只是相对更适合于互联网。

        3)网络地址统一分配,网络中的每一台设备和终端都具有一个唯一的地址。

        4)高层协议标准化,可以提供各种类型的网络服务。

8.网站托管

        一个网络服务器是一台托管一个或多个网站的计算机。“托管”的意思是所有网页和它们的支持文件都存放在那台网络服务器中。网络服务器会根据每一位用户的请求,将任意网页从托管的网站中发送资源包到任意用户的浏览器客户端中。

三、网站的三大技术

1.HTML

        1)基本概念:HTML的全称为超文本标记语言( Hyper Text Markup Language),是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。

        2)使用途径:HTML是构成网站页面元素的基础,使用HTML集成网站中网页所需的资源和

2.CSS

3.JavaScript

四、版本控制系统

1、基本概念

        版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变,文件的版本号都将增加。

2、仓库托管服务

1)GitHub

2)GitLab

3)Bitbucket

五、Web安全知识

1、HTTPS

        HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。

        HTTPS 协议是由 HTTP 加上 TLS/SSL 协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。

2、内容安全策略(CSP)

1)基本概念

        CSP指的是内容安全策略,为了缓解很大一部分潜在的跨站脚本问题,浏览器的扩展程序系统引入了内容安全策略(CSP)的一般概念。这将引入一些相当严格的策略,会使扩展程序在默认情况下更加安全,开发者可以创建并强制应用一些规则,管理网站允许加载的内容。简单来说,就是我们能够规定,我们的网站只接受我们指定的请求资源。

2)使用目的

        防XSS等攻击的利器。CSP 的实质就是白名单制度,开发者明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单。它的实现和执行全部由浏览器完成,开发者只需提供配置。CSP 大大增强了网页的安全性。攻击者即使发现了漏洞,也没法注入脚本,除非还控制了一台列入了白名单的可信主机。

3)CSP分类

 1)Content-Security-Policy

        配置好并启用后,不符合 CSP 的外部资源就会被阻止加载。

 2)Content-Security-Policy-Report-Only

        表示不执行限制选项,只是记录违反限制的行为。它必须与report-uri选项配合使用。

3、跨域资源共享(CORS)

4、OWASP安全风险

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值