当前位置:   article > 正文

网站运行原理_网页怎么运行的?

网页怎么运行的?

1.1网站组成结构


服务器:载体,用来搭建web服务器。

例如:window系统,linux系统

中间件(web容器):用来处理从客户端发来的请求,一个服务对应着一个端口。

例如:Apache、IIS、Nginx、Tomcat、Jboss、Web Logic

解释语言:负责数据库以及前台页面交互和信息传递。是后端语言,可以嵌入到html中。

例如:php、asp、aspx、jsp

就像是客户端要查询id=1的信息,中间件将发来的查询收到,然后解释语言与数据库互动,查询id=1的信息。

数据库:存储数据的地方。

例如:mysql、sqlserver、Oracle

1.2 静态网页和动态网页


1.动态网页:需要进行交互,与数据库进行互动。

例如:搜索查询、创建账号、发表评论。

url例如:http://www.test.com/inc/1.php?id=neo

2.静态网页:不需要交互,不经过php解析,不用数据库,速度比动态网站快。

url例如:http://www.test.com/inc/neo.html

3.伪静态网页:看起来和静态网页格式一样,但到后端有与数据库交互。

url例如:http://www.test.com/inc/neo

到后端就可以表示为:

http://www.test.com/inc/1.php?id=neo

伪静态建站系统(简化建站,降低建站难度):

cms(内容管理系统)、wordpress(博客系统)、DZ(论坛系统)、

phpcms、phpweb

4.用户点击查看页面,web服务器接收到客户端的请求,判断是动态还是静态,静态无需和数据库互动,web服务器直接将相应的数据返回给客户端。

如果是动态请求(查询neo),web服务器会交给php处理,让其与数据库进行交互,数据库进行查询neo的数据,再返回给客户端。

2.1网站工作流程


用户想访问www.neo.com,在浏览器上搜索这个域名。

只有知道这个域名的真实ip地址才能通信,所以浏览器会像DNS服务器(域名解析服务器)询问,询问后将域名相对应的ip地址信息保留到主机上的host文件里。

浏览器知道了ip地址,向其web服务器发送请求。

web服务器接收到请求(就是1.2的内容),向客户端返回响应。

浏览器接收到服务器的响应信息,将www.neo.com页面显示在浏览器上。

这只是一个大概工作流程,其中还有好多细节。

2.2 http协议


http协议:客户端与web服务器在连接之前签订协议,上面说的请求和响应也就是http请求和响应。

1.http协议通信就需要url,url由域名(ip也可以)、web服务器、端口(默认80端口)组成。

例如:

http://www.test.com:80/inc/index.html

其中http://就是http协议

www.test.com:80就是域名及端口

inc/index.html就是web服务器上的目录及文件。

2.http协议工作原理:

客户端先向服务器(80端口)建立tcp连接

连接成功,客户端再向web服务器发送http请求

web服务器接收到请求,将http响应信息返回给客户端

然后断开tcp连接

3.https

https比http更安全,在http的基础上加入SSL(加密传输)

2.3 tcp协议


tcp:传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。

tcp建立连接(三次握手)

1.客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。

2.服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。

3.客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态(连接状态)。

三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了。

Tcp断开连接(四次挥手)

  1. 客户端向服务器端发送断开 TCP 连接请求的FIN,ACK报文,在报文中随机生成一个SEQ=x,表示要断开 TCP 连接。

  1. 当服务器端收到客户端发来的断开 TCP 连接的请求后,回复发送 ACK 报文,表示已经收到断开请求。回复时,随机生成一个SEQ=y,并发送SEQ=y,ACK=x+1。

  1. 服务器端在回复完客户端的 TCP 断开请求后,不会马上进行 TCP 连接的断开。服务器端会先确认断开前,所有传输到客户端的数据是否已经传输完毕。确认数据传输完毕后才进行断开,向客户端发送 FIN,ACK,设置字段值为 1。再次随机生成一个SEQ=z,并发送SEQ=z,ACK=x+1。

  1. 客户端收到服务器发来的 TCP 断开连接数据包后将进行回复,表示收到断开 TCP 连接数据包。向服务器发送 ACK 报文,生成一个SEQ=x+1,并发送SEQ=x+1,ACK=z+1。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/51279
推荐阅读
相关标签
  

闽ICP备14008679号