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的互联网基本服务。
原文地址:https://www.cnblogs.com/061713xlhj/p/12681347.html