Web服务器通信原理

Posted 苦逼运维-匿名

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web服务器通信原理相关的知识,希望对你有一定的参考价值。

Web服务器通信原理

一、基本知识介绍

常见服务器系统

  Linux(RedHat、CentOS、Debian、Ubuntu)

  Windows Server(Windows Serve 2008、Server 2012、Server 2016、Server 2019)

  MacOS Server-基本没见过

Windows 常见的家用办公系统有Windows 7、Windows10;Windows 服务器系统有Windows Server。

Windows和Linux的区别

Windows的路径:

Linux的路径显示:

 能看到盘符的肯定是Windows。看到 / 开头一般都是Linux或者MacOS

CMD命令

过去计算机还没有现在这样美观的图形界面。通常是Dos系统,那时候人们使用电脑,都是使用cmd命令进行操作;在Windows系统中提供了CMD指令,可以让大家使用命令操作电脑。这样在渗透测试中会起到一定的作用。

简单的CMD命令;

dir 显示当前目录;

 cd 进入xx目录

 绝对路径和相对路径

绝对路径:就是你主页上的文件或目录在硬盘上的真正路径。

相对路径:就是相对某个基准目录的路径。包含Web的相对路径(html中的相对目录)

例如:

1.D:\\ISO镜像\\Lync-Server-2013企业版部署.pdf  ==> “Lync-Server-2013企业版部署.pdf” 就是一个绝对路径

2.https://www.cnblogs.com/061713xlhj/  这也是一个绝对路径

3.假设你要引用页面名称为test.html。它存放在www的文件夹里,那么绝对路径是D:/phpstudy/www/test.html.同时引用存在www文件夹里面的icon.jpg文件,在同一个目录下这个icon.jpg的相对路径./icon.jpg。绝对路径是D:/phpstudy/www/icon.jpg

网络简介

IP定义:互联网协议地址,缩写为IP,是分配给用户上网使用的网际协议的设备的数字标签。

说的通俗易懂的解释就是,ip实际上就是地址,如果我想到你家去玩,那么我肯定要知道你家住在哪里,ip实际上就是你电脑的地址,在网络上可以通过ip来访问你的计算机。

IP有内网和公网的概念。内网是什么,公网是什么。

举个栗子:

你家的门牌号那就是个公网地址,四川省成都市红牌楼街道12号,别人看到这个地址就能找到你家
内网地址是什么呢,假设你住的是一个大楼,比如住503房间,那么只有同一个大楼里面的人才能够通过503这个地址找到你的房间吧。其他人根本不知道是哪里的503房间对吧

公网地址是运营商分配的,内网地址是路由器分配的。
如何判断地址是公网还是内网?这些地址就是内网地址了

10.0.0.0~10.255.255.255 |172.16.0.0~172.31.255.255 |192.168.0.0~192.168.255.255 

对于自己而言,如果你是本机访问本机,那么127.0.0.1或者localhost都代表着自己
怎么查看自己的内网ip 可以使用cmd命令 ipconfig 外网ip可以通过百度

域名:域名实际上是为了方便记忆发明的一个字符型标识。

cnblogs.com news.cnblogs.com
一级域名 二级域名


DNS:将域名转化为IP的一个协议。

14.215.177.39  baidu.com 

因为有DNS协议的参与,输入baidu.com打开的也没和输入14.215.177.39打开的页面是一样的。 

端口:

端口就像电脑的接口,像USB接口,比如你需要用键盘时候,你要把键盘插入接口,端口就是类似的东西,端口主要是用于网络的接口,比如你去访问别人网站,一般来说你实际上是去他的80端口进行通信。一共有65536(2^16-1)个端口,0端口是预留端口。一般不会用到
在Windows系统CMD命令提示符窗口,输入netstat -an即可查看

 

 

红色框内就是端口号

电脑的端口默认情况下是固定 每个服务对应不同的端口

如3389 445 3306 1433 80 443

80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,此为上网冲浪使用次数最多的协议,主要用于WWW(World Wide Web)即万维网传输信息的协议。
443端口即网页浏览端口,主要是用于HTTPS服务,是提供加密和通过安全端口传输的另一种HTTP。
445端口是一个毁誉参半的端口,有了它我们可以在局域网中轻松访问各种共享文件夹或共享打印机。
1433端口是SQL Server默认的端口,SQL Server服务使用两个端口:TCP-1433、UDP-1434。
3306端口是mysql的默认端口。
3389端口是Windows 2000(2003) Server远程桌面的服务端口,可以通过这个端口,用"远程桌面"等连接工具来连接到远程的服务器。

HTTP协议

http协议超文本传输协议(HTTP,HyperText Transfer Protocol),是互联网上应用最为广泛的一种网络协议。

设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法,基本上访问网站都是使用HTTP协议。HTTP协议我们从下面这个HTTP通信数据包来理解。

GET / HTTP/1.1        #GET 是请求方式 HTTP/1.1 是协议版本
Host: www.baidu.com     #Host是访问的域名
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/80.0.3987.163 Safari/537.36  #User-Agent传参,告诉别人你的浏览器是什么。是什么系统。

 

二、网页浏览流程

从访客角度看网页浏览流程

一、开始用户在浏览器输入协议://域名,如 https://www.baidu.com
二、然后用户浏览器通过系统向DNS服务器查询域名对应的IP地址
三、负载均衡根据我们设定的分配算法和规则,选择一台后端的真实Web服务器,与之建立TCP连接、并转发我们浏览器发出去的网页请求。
四、用户浏览器向查询到的IP地址(Web服务器)发起HTTP请求
五、在浏览器解析页面内容的时候,发现页面引用了其他未加载的image、css文件、js文件等静态内容,根据DOM Tree和CSS Rule Tree生成Render Tree(呈现树)。根据Render Tree渲染网页。
六、浏览器收到响应后,将渲染完成的网页展示在用户浏览器中。

三、常见Web容器

简单来说Web容器就是可以向发出请求的浏览器提供文档的程序。它是一种被动程序,只有其他计算机发出的请求该容器时,容器才会响应;

Web容器的主要功能是存储,处理和传递网页给客户。客户端和服务器之间的通信使用超文本传输​​协议(HTTP)进行。交付的页面最常见的是HTML文档,除了文本内容之外,还可能包含图像,样式表和脚本。

常见的Web容器:

Apache:Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

nginx:是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

IIS:是互联网信息服务,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。

以上是关于Web服务器通信原理的主要内容,如果未能解决你的问题,请参考以下文章

二级域名原理以及程序代码

代码片段 - Golang 实现简单的 Web 服务器

django 框架原理

django 框架原理

django 框架原理

网络安全从入门到精通(第一章-1)Web服务器通信原理