Web 服务器通信原理
一.基本知识介绍
IP
定义:互联网协议地址,缩写为IP地址,是分配给用户上网使用的网际协议的设备的数字标签。
理解:ip实际上就是地址,如果我想到你家去玩,那么我肯定要知道你家住在哪里,ip实际上就是你电脑的地址,在网络上可以通过ip来访问你的计算机。
ip有内网和公网的概念。什么是内网?什么是公网?
打个比方:
你家的门牌号那就是个公网地址,X省X市X街道X号,别人看到这个地址就能找到你家
内网地址是什么妮,假设你住的是一个大楼,比如住401房间,那么只有同一个大楼里面的人才能够通过401这个地址找到你的房间吧。其他人根本不知道是哪里的401房间对吧
公网地址是运营商分配的,内网地址是路由器分配的。
如何判断地址是公网还是内网妮?这些地址就是内网地址了
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都代表着自己
域名
定义:域名实际上是为了方便记忆所发明的一个字符型标识
DNS
定义:将域名转化为ip的一个协议
端口
端口就像电脑的接口,像USB接口,比如你需要用键盘时候,你要把键盘插入接口,端口就是类似的东西,端口主要是网络接口,比如你去访问别人网站,一般来说你实际上是去他的80端口进行通信。
我们有多少个端口?有范围是从0 到65535(2^16-1)
0端口是预留端口。一般不会用到
MAC地址
网卡的物理地址通常是由网卡生产厂家烧入网卡(全球唯一性) 可以伪造
HTTP协议
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法,基本*问网站都是使用HTTP协议
HTTP协议我们来看看需要了解什么,我们拿一个HTTP通信数据包来讲解
GET /?tn=62095104_26_oem_dg HTTP/1.1
Host: baidu.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/69.0.3497.100 Safari/537.36
Cookie:BAIDUID=73B3EA8C6CE97FA3AEA1C885FECA03A9:FG=1; BIDUPSID=73B3EA8C6CE97FA3AEA1C885FECA03A9; PSTM=1558791249
GET 是请求方式 HTTP/1.1 是协议版本 HOST是访问的域名 User-Agent传参是传参告诉别人你的浏览器是什么,是什么系统呀。Cookie就是一个用户的凭证。就是代表你的身份,比如你登陆后,那串Cookie被人窃取了,那么利用那串Cookie,他就可以直接有你账号登陆的权限。
二.网页浏览流程
从访客角度看网页浏览流程
1.1.1.1 baidu.com → 网关 →DNS表,qzone.qq.com→ IP web服务器
1、用户在浏览器输入协议://域名,如 http://www.zkaq.org
2、用户浏览器通过系统 → 向DNS服务器查询域名对应的IP地址
3、用户浏览器向查询到的IP地址(Web服务器)发起HTTP请求
4、服务器分析用户请求,从中提取数据,处理后返回一个http响应
5、浏览器收到响应后提取状态、协议编码、正文的有效信息,然后翻译成人类能够直观理解的图形界面并显示。
常见的服务器系统
Linux
Windows Server
macOs server
看到盘符一定是WINDOWS,看到/开头一般都是LIUNX(毕竟拿macOS做系统很罕见)
相对路径和绝对路径
1.绝对路径
先说在本地计算机上,文件的绝对路径当然是指:文件在硬盘上真正存在的路径。
例如:C:\Users\Admin\.android\avd (看到盘符就绝对是WINDOWS绝对路径了)
/etc/init/ (看到/开头就是liunx的绝对路径了)
2.相对路径
相对路径,顾名思义就是自己相对与目标位置。
假设 你要引入文件的页面名称为test.htm,它存在叫www的文件夹里(绝对路径D:/wamp/www/test.htm)
那么引用同时存在www文件夹里的“icon.jpg”文件(绝对路径D:/wamp/www/icon.jpg)
同一目录下相对路径icon.jpg (./icon.jpg ../)
如果文件“icon.jpg”存在img文文件夹中(绝对路径D:/wamp/www/img/icon.jpg),那么相对路径./img/icon.jpg。
三.Web服务器理解
Web容器
Web容器是可以向发出请求的浏览器提供文档的程序。
Web容器是一种被动程序:只有其他计算机发出的请求该容器时,容器才会响应
Web容器的主要功能是存储,处理和传递网页给客户。客户端和服务器之间的通信使用超文本传输协议(HTTP)进行。交付的页面最常见的是HTML文档,除了文本内容之外,还可能包含图像,样式表和脚本。
常见Web容器
IIS(Windows)
Apache(全平台)
Nginx(全平台)