WEB安全-基础

Web发展史:从HTTP到HTTPS的演变与安全性提升

WEB发展史(简介)

Web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。

万维网与因特网区别

万维网常被当成因特网的同义词,但万维网与因特网有着本质的差别。因特网(Internet)指的是一个硬件的网络,全球的所有电脑通过网络连接后便形成了因特网。而万维网更倾向于一种浏览网页的功能。

互联网包含因特网,因特网包含万维网,即互联网>因特网>万维网

万维网www构想的诞生

1989 年 3 月 12 日,欧洲粒子物理研究所(CERN)的计算机科学家蒂姆·伯纳斯·李在其一份提案《Information Management: A Proposal》中提出了一个构想:创建一个以超文本系统为基础的项目,允许在不同计算机之间分享信息,其目的是方便研究人员分享及更新信息。这个构想最终成了WWW(World Wide Web)万维网的基础,彻底改变了人类社会的沟通交流方式。

Web发展史 Web History

Web 1.0 

个人网站,门户网络 www.163.com www.souhu.com等 Web 1.0时代开始于1994年,其主要特征是大量使用静态的 HTML 网页来发布信息,并开始使用浏览器来获取信息,这个时候主要是单向的信息传递

Web 2.0

微博,Blog等 www.weibo.com www.lofter.com Web 2.0 始于 2004 年 3 月 Web2.0中,软件被当成一种服务,为用户提供网络应用的服务平台,强调用户的参与、在线的网络协作、数据储存的网络化、社会关系网络、应用以及文件的共享等成为了Web2.0发展的主要支撑和表现。

静态页面和动态页面区别

根据上一个标题内容我们应该知道具体的一个区别那么我们来说一下

静态页面 

用户通过Web浏览器HTTP协议向web服务器发送一个响应请求,告诉web服务器要浏览这个网站的哪个页面,接着根据用户的响应请求返回一个html页面给用户,经过浏览器渲染解析呈现在用户眼前。

具体特点:

没有数据库文件的,所以不能连接网络数据库

通过HTML代码开发设计的

部分静态web页面为了页面的好看,使用了大量的JS代码导致静态web页面打开速度慢

动态页面

依然要通过web服务器的http协议或https协议响应才能返回结果给用户,用户所有请求都必须要通过web服务器处理才能实现

用户的响应请求是一个静态的html页面,只需要响应请求web服务器从系统中调出用户响应的内容,将内容返回给客户端浏览器进行处理,再返回给用户。(一样的只是对于其中的静态)

如果用户响应请求的是动态页面资源例如.jsp/.asp/.aspx、/.php等,响应步骤是先将用户请求发送给web服务器,web服务器再从数据库调出有户请求的数据,调出数据后将所需要展示给用户的内容发送给服务器,最后通过web服务器将需要展示给用户的内容返回给用户浏览器解析执行,展示给用户。

Web1.0和Web2.0的本质区别

不说多了就一句话,Web1.0 的主要是在于用户通过浏览器获取信息。Web2.0 则更注重用户的交互作用

HTML代码可能会存在一下漏洞

这里简单给大家看图了解一下后期会细说,或者自己了解一下

URL是什么

统一资源定位符(Uniform Resource Locator,URL;俗称网页地址或简称网址)是因特网上标准的资源的地址(Address),如同在网络上的门牌。它最初是由蒂姆·伯纳斯-李发明用来作为万维网的地址,现在它已经被万维网联盟编制为因特网标准RFC 1738。

URL--格式

protocol 协议,常用的协议是http、https、ftp等

hostname 主机地址,可以是域名,也可以是IP地址

port 端口 http协议默认端口是:80端口

path 路径 网络资源在服务器中的指定路径

parameter 参数 如果要向服务器传入参数,在这部分输入

query 查询字符串 如果需要从服务器那里查询内容,在这里编辑,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。

Web访问流程

什么是HTTP?

超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。当时选择使用HTTP协议,是因为它使开发和部署非常地直截了当。

HTTP如何访问Web应用

1、在浏览器地址栏键入URL访问

2、浏览器向 DNS(域名解析) 服务器请求解析该 URL 中的域名所对应的 IP 地址;

3、解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接;

4、浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;

5、服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;

6、浏览器将该 html 文本进行解析并显示内容;

HTTP协议的内部操作过程

HTTP定义的事务处理由以下四步组成:

客户端与服务器端建立连接

客户端向服务器端发送请求

服务器端向客户端回复响应

断开连接

HTTP协议的发展

HTTP 是基于 TCP/IP 协议的应用层协议,在 OSI 七层模型中在最上层,它并不涉及数据包传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。

1991年发布的 HTTP/0.9 ,只支持:GET。这个版本的协议规定,服务器只能回应HTML格式的字符串,不能回应别的格式,也就是说今天的图像、视频等多媒体资源,在 HTTP/0.9这个版本上是无法进行传输的。】

(HTTP版本的差异)

1996年5月,HTTP/1.0 版本发布,增加了POST命令HEAD命令,丰富了浏览器与服务器的互动手段。这个版本HTTP协议可以发送任何格式的内容,包括传输文字、图像、视频、文件,这为互联网的大发展奠定了基础。除了增加了请求方法以及对发送文件的支持之外,还增加了格式的改变。除了数据部分,每次通信都必须包括头信息,用来描述一些元数据。另外还增加了状态码、多字符集支持、多部分发送、权限、缓存、内容编码等等。

1997年1月,HTTP/1.1 版本发布,这个版本只比 1.0 版本晚了半年。这个版本最大的变化就是将持久化连接加入了 HTTP 标准,即TCP连接默认不关闭,可以被多个请求复用。此外,HTTP/1.1版还新增了许多方法,例如:PUT、CONNECT、HEAD、 OPTIONS、DELETE。得到进一步完善的HTTP/1.1 版本,一直沿用至今。

网络通信模型

OSI7层模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层

HTTP-请求方法

GET 和 POST 的区别

原理区别

URL全称是资源描述符,一个URL地址用于描述一个网络上 的资源,HTTP中的GET,POST,PUT,DELETE就对应着 对这个资源的查 ,改 ,增 ,删 4个操作。

GET一般用于获取/查询 资源信息

POST一般用于更新 资源信息

GET用于信息获取时应该是安全的,幂等的。

1)安全:该操作用于获取信息而非修改信息。它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。

2)幂等:对同一URL的多个请求应该返回同样的结果。 POST表示可能修改服务器上的资源的请求。

HTTP协议的主要特点

1.支持客户/服务器模式:一个服务器可以为分布在世界各地 的许多客户服务

2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET和POST。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

HTTP-报文格式

Http请求由四部分组成:请求行(request line)、请求头部(header)、空行和请求数据

第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本

第二部分:请求头部,紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息

第四部分:请求数据也叫主体,可以添加任意的其他数据

第一部分:状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成

第二部分:消息报头,用来说明客户端要使用的一些附加信息

第四部分:响应正文,服务器返回给客户端的文本信息

HTTP请求头-Cookie

Cookie通常也叫做网站cookie,浏览器cookie或者httpcookie,是保存在用户浏览器端的,并在发出http请求时会默认携带的一段文本片段。它可以用来做用户认证,服务器校验等通过文本数据可以处理的问题。

HTTP请求头-Referer

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。

HTTP状态信息

状态信息:

临时响应(1xx):表示临时响应并需要请求者继续执行操作的状态代码

成功(2xx):表示成功处理了请求的状态代码

重定向(3xx):表示要完成请求,需要进一步操作,通常用来重定向

请求错误 (4xx):表示请求可能出错,妨碍了服务器的处理

服务器错误 (5xx):表示服务器在尝试处理请求时发生内部错误

HTTP的缺陷

由于 HTTP 协议的简单特性,且不保存客户端的状态,不进行验证客户端是否是真实存在,传输使用的是明文传输,故也很具有缺点。

即 ① 通信双方使用明文传输(不加密),内容可能会被窃听。

    ② 不验证通信方的身份,因此可能遭遇伪装。

    ③ 无法证明报文的完整性,所以有可能已遭篡改。

在这几个缺点的基础上为了防止这些问题的发生,出现了 HTTPS

HTTPS 协议基础

什么是HTTPS

HTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版

HTTPS主要作用是

对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全

对网站服务器进行真实身份认证。 默认HTTP的端口号为80,HTTPS的端口号为443

HTTP和HTTPS区别

本质:明文和加密

信任主机的问题. 采用https 的server 必须从CA 申请一个用于证明服务器用途类型的证书. 该证书只有用于对应的server 的时候,客户度才信任该主机

为什么需要加密: 1、防止中间人攻击 2、防钓鱼

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值