简述web服务器的工作过程(web后台服务器是如何工作的)

本文目录
web后台服务器是如何工作的
近期准备session,希望能跟大家轻松地分享一些东西,一些常见的场景。比如:web后台服务器到底是如何工作的。
上网过程对于普通人:首先,他需要一台电脑,然后,他的电脑可以接入网络,最后,他可以打开浏览器键入自己想要浏览的网址,然后就可以上网了。但是对于计算机来讲,是一个比较复杂的过程,里面包含了信息如何保存,信息如何传递以及信息如何展示的过程。所以,针对整个上网过程,我们从前到后,分析一下其中包含的各种技术细节,可能不全,目的是抛砖引玉,希望大家在简单的流程当中学习更多的东西分享出来,一些基础知识则当做复习。之前buddy王老吉讲过浏览器的工作方式,所以本文内容不包含浏览器的工作方式,重点在于各种后台服务以及通信层面的分析。
前面说到,用户浏览器中键入网址便浏览网页信息,这个网址实际上就是URL,英文全称是Uniform Resource Locator——统一资源定位符。
完整的、带有授权部分的普通统一资源标志符语法看上去如下:
协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
我们键入的仅仅是服务器域名,但是实际上在网络中我们通信是通过套接字来进行通信的。套接字=IP + 端口,在网络中,IP的作用是用来在网络层进行路由寻址,寻找唯一的主机;端口的作用是用来在这个主机中寻找唯一的进程。总体来说,套接字可以用来在网络中确定唯一主机的唯一进程,所以通过套接字我们可以进行通信。
但是问题是上网通过域名来访问,那么是如何通过域名来确认唯一主机的唯一后台web服务器进程的呢?做一个假设,如果我们可以在互联中提供一个确定的服务,这个服务里面装有域名到套接字的映射,上网的人通过这个服务获取对应域名的套接字,那么这个问题不就解决了。而实际上,DNS服务原理简单来说就是刚才假设的方法,服务商通过提供公共的DNS服务,大家上网时便可以查询到相应域名对应的套接字,通过这个套接字便可以访问确定的服务器了。真正的DNS服务其实更为复杂,分为迭代式查询和递归式查询,两种方式各有优劣,同时,为了性能,DNS服务通常也配有不同级别的缓存,关于DNS的具体实现有兴趣的可以自行查询资料学习。
***隐藏网址***
另外,DNS服务也需要遵循某种协议才能通信,其协议为DNS协议,其服务固定为53端口,属于应用层协议。DNS英文为DomainNameSystem。其实DNS服务跟电话簿的工作方式一样,因为你没法记得每个人的电话号码,但是很容易记住每个人的名字。
***隐藏网址***
***隐藏网址***
***隐藏网址***
包含的知识点:DNS协议,HTTP协议,计算机网络知识,后台服务器实现(tomcat/jetty等)。
web服务器的工作原理及安装配置步骤
一、web服务器的工作原理
1、客户端发送请求
客户端(通过浏览器)和Web服务器建立TCP连接,连接建立以后,向Web服务器发出访问请求(如get)。
2、服务器解析请求
Web服务器对请求按照HTTP协议进行解码来确定进一步的动作,设计的内容有三个要点:方法(GET)、文档(/sample.html)、和浏览器使用的协议(HTTP/1.1)其中方法告诉服务器应完动的动作,GET方法的含义很明显是:服务器应定位、读取文件并将它返回给客户。
3、读取其它信息(非必须步骤)
Web服务器根据需要去读取请求的其它部分。在HTTP/1.1下,客户还应给服务器提供关于它的一些信息。元信息可用来描述浏览器及其能力,以使服务器能据此确定如何返回应答。
4、完成请求的动作
若现在没有错误出现,WWW服务器将执行请求所要求的动作。要获取(GET)一个文档,web服务器在其文档树中搜索请求的文件(/sample.html)。这是由服务器机器上作为操作系统一部分的文件系统完成的。若文件能找到并可正常读取,则服务器将把它返回给客户。
5、关闭文件和网络连接,结束会话。
当文件已被发邮或错误已发出后,web服务器结束整个会话。它关闭打开的的被请求文件,关闭网络端口从而结束网络连接。有关的其它工作则是由客户端来完成的,包括接收数据,并以用户可读的方式呈现出来。这些与服务器无关。
二、web服务器的安装配置过程
以典型的web服务器Tomcat为例,进行安装配置。步骤如下:
1、在tomcat官网上下载tomcat安装版本。
2、将下载的zip包解压。
3、打开解压后的文件夹,进入bin文件夹。
4、双击Tomcat8.exe进行启动。
***隐藏网址***
简述建立web服务器的过程(建立web个人网站的方法)
***隐藏网址***
在我们的实际工作中,我们还在板上搭建了一个web服务器,给我们的调试带来了一些方便。我们可以通过网页与该板进行交互,该板也可以作为一种方案,在没有显示屏的情况下显示其功能。
web服务器——boa
本文演示了如何将boa移植到开发板上。boa是一个小型web服务器,只有70KB的可执行代码,占用系统资源少,速度快,安全性高。
Boa官网:
www.boa.org
下载版本:
boa-0.94.13.tar.gz
在本文中,web服务器的使用取决于网络。可以参考我们上次的笔记搭建开发板的WiFi环境:实用
boa交叉编译
下载boa-0.94.13.tar.gz,解压,进入boa-0.94.13/src目录,执行以下命令生成Makefile:/configure修改Makefile并设置交叉编译器。找到CC和CPP变量,并将其修改为:
CC=arm-Linux-gnueabihf-gcccpp=arm-Linux-gnueabihf-gcc-e执行make编译。编译错误,例如:
arm-Linux-gnueabihf-gcc-g-O2-pipe-Wall-I .-c-o response . o response . carm-Linux-gnueabihf-gcc-g-O2-pipe-Wall-I .-c-o select . o select . carm-Linux-gnueabihf-g-O2-pipe-Wall-I .-c-o signals . o signals . carm-Linux-gnueabihf-gcc-g-O2-pipe-Wall-I .-c-o util . oget _ commonlog _ time # 039:util.c:100:39:错误:粘贴 # 039还有 -#039;未给出有效的预处理标记time _ OFFSET=time zone _ OFFSET;Compat.h: 120: 30:注:在宏的定义中 时区偏移量 # define time zone _ offsetfoo # #-TM _ GMT off ~ ~内置:目标的配方 util.o # 039失败了。把:
# define time zone _ offsetfoo # #-TM _ GMT off修改为:
# define time zone _ offsetfoo-TM _ GMT off再次编译。如果可以编译,boa可执行文件将在当前路径生成:
boa配置
从Ubuntu传输mime.types文件 /etc目录到开发板的/etc目录。注意:这是MIME,是web服务器支持的规范。
在开发板/etc目录下创建boa文件夹:
Cd /etcmkdir boa在开发板根目录下建立www文件夹,在www目录下建立文件夹的cgi-bin目录:
Mkdir -p /www/cgi-bin将boa.conf文件从boa-0.94.13目录转移到开发板的/etc/boa目录。
scp BOA . conf root @ 192 . 168 . 1 . 10:/etc/BOA将BOA可执行程序转移到开发板的bin目录下。
Scp boa root@192.168.1.10:/bin在开发板/etc目录下创建一个组文件:
Cd /etctouch组使用vi器打开开发板上/etc/boa目录下的boa.conf文件,需要修改如下:
将Group nogroup改为Group 0。
在ErrorLog和AccessLog行中指定日志文件的路径,将日志保存到/etc/boa目录,修改如下:
ErrorLog /etc/boa/error_log#请注意:将日志发送到管道(
# ServerName:如果与get hostname get hostname ServerName www.your.org.here返回的名称不同,则应该发送回# Clients的服务器名称然后找到DocumentRoot /var/www行,并将其修改为DocumentRoot /www:
Root/www 然后找到script alias/CGI-bin//usr/lib/CGI-bin/这一行,修改为script alias/CGI-bin//www/CGI-bin/:
script alias/CGI-bin//www/CGI-bin/以上是boa.conf的配置文件中需要修改的几点
最后,进入我们之前创建的www目录,然后使用VI index.html命令构建index.html网页文件进行测试。你可以在网上搜索一些关于简单网页设计的教程。这里我们设计一个简单的网页,比如:
Htmlheadtitleboa服务器测试/title/head dy style= 背景色:# 00000;左填充:300px填充顶部:100px#039;p style= # 039颜色:白色;文本对齐:左对齐;宽度:190px高度:45px字体大小:30px字体系列:微软雅黑;左填充:5px#039;嵌入式大杂烩/PP style= 颜色:红色;字体大小:20px字体系列:微软雅黑;#039;ZhengN/PP style= 颜色:黄色;字体大小:20px字体系列:微软雅黑;文本对齐:左对齐;#039;微信官方账号专注于嵌入式技术,包括但不限于C/C、嵌入式、物联网、Linux。/p/body/html保存并退出index.html。至此,我们的web服务器基本完成,服务器上有一个简单的web文件index.html。
这里 这是一个简单的测试:
在我们的开发板上输入boa命令启动web服务器。
输入以下命令,查看boa程序是否成功启动:
PS-e
boa流程成功启动后,在浏览器中输入我们开发板的IP地址,即可访问index.html网页:
可以看到,我们可以通过浏览器访问利用开发板搭建的web服务器上的网页,这表明我们已经在开发板上成功搭建了基于boa的web服务器。
本文简单演示了如何通过开发板web服务器环境,并设计了一个简单的网页。然后,我们会继续探索如何通过网页与我们的开发板进行交互,比如通过网页点亮开发板的led,将开发板的一些数据传输到网页上进行显示。
王者之心2点击试玩
简述在web服务器中,Apache和PHP的工作流程
那么php的运行原理就是Apache、PHP、浏览器之间的协作过程:
①当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求,并将请求传送化支持PHP的WEB服务器(apache)。
②WEB服务器(apache)接受这个请求,并根据其后缀进行判断如果是一个PHP请求,WEB服务器(apache)从硬盘或内存中取出用户要访问的PHP应用程序,并将其发送给PHP引擎程序。
③PHP引擎程序将会对WEB服务器(apache)传送过来的文件从头到尾进行扫描并根据命令从后台读取,处理数据,并动态地生成相应的HTML页面。
④PHP引擎将生成HTML页面返回给WEB服务器(apache)。WEB服务器(apache)再将HTML页面返回给客户端浏览器,最后一个完整的页面基于通过浏览器展现在我们眼前。

更多文章:
制作网页时通常需要在同一网页内跳转常常采用制作什么超链接(简述在网页设计中制作超链接的类型)
2026年9月5日 07:00
开发工具按钮是表格部分数据清零(怎么添加一个Excel批量删除多个单元格内容按钮)
2026年9月5日 05:45
石家庄网站优化全包(石家庄公交第三批线网线优化什么时候开始)
2026年9月5日 05:15
一个卖东西的微信小程序,都需要什么条件怎么制作?我想做一个社区团购的小程序,怎么入手呢,大概需要花多少钱
2026年9月5日 05:00





