- 知道什么是Web服务器
- 知道IP、域名和端口
- 知道DNS
- 知道C/S和B/S架构
1. Web服务器
问题: 当我们写好一个html文件,放在桌面上时,别人能不能通过浏览器访问?
答: 不行。 必须将我们的html文件放入==web服务器==,其他人通过网络才能访问。
1.1 什么是服务器?
服务器可以从硬件、软件(系统软件、应用软件)两个角度描述。
按硬件描述: 服务器就是一台超级计算机。
按系统划分: 在硬件上安装了什么操作系统,就可以称为该系统的服务器
例如: linux服务器、windows服务器、unix服务器等。
按软件划分: 在操作系统中安装了什么软件,就可以称作该软件的服务器
例如: ==web服务器、数据库服务器==、邮件服务器等。
1.2 Web服务器
Web服务器就是安装了Web服务软件,能够提供网站服务的服务器。淘宝、京东、新浪等等
常见的Web软件:
==Apache==、Nginx、IIS、Tomcat、==Nodejs== 等。
Apache服务器、Nginx服务器、IIS服务器、Tomcat服务器、Nodejs服务器
PS: web服务器又叫做http/httpd服务器
2. 安装phpstudy
phpstudy是一个集成环境,包含了:Apache、MySQL等服务器软件。 我们安装该软件之后,就是在自己电脑上安装了 Apache服务器和MySQL服务器。
类似的软件: WAMP、PHPnow等等
2.1 准备工作
下载: http://phpstudy.php.cn/
2.2 安装
==核心重点: 安装任何与开发相关的软件时都必须安装到英文路径下。== (不安装到英文路径下可能产生未知的错误)
- 解压压缩包
- 设置安装路径
必须是英文路径,路径中不能出现中文
- 安装过程
- 安装完成,显示 图形化控制界面
- 点击 '启动' 按钮,开启服务器(此处同时开启了 Apache和MySQL)
- 允许 Apache 和 MySQL 访问网络
- 测试
打开浏览器输入: 127.0.0.1 按下回车后能看到页面上显示 'Hello World' 则说明安装成功
2.3 phpstudy目录结构
进入 d:/phpstudy 目录
再进入 PHPTutorial 目录
Apache: Apache服务器软件安装目录
MySQL: MySQL服务器软件安装目录
WWW: 网页及相关文件保存目录。 所有的 html、js、css以及使用到的图片、视频、音频文件保存目录
2.4 Apache使用演示
将之前写好的 '品优购' 网页存放到WWW目录下
==注意:在 WWW 目录下创建了 p-buy 目录,再将品优购的网页放在该目录下==
在浏览器中输入: 127.0.0.1/p-buy/index.html
在浏览器中输入: 127.0.0.1/p-buy/list.html
在浏览器中输入: 127.0.0.1/p-buy/item.html
3. 网站基础概念
3.1 URL地址解析
浏览器中输入的地址: 127.0.0.1/p-buy/index.html
实际全地址: http://127.0.0.1:80/p-buy/index.html
http: 协议名, 超文本传输协议
127.0.0.1: 服务器IP地址
80: Apache服务器的默认端口号
/p-buy/index.html: 要访问的文件路径
3.2 IP地址
IP: Internet Protocol 互联网协议,是为计算机网络相互连接进行通信而设计的协议。
处于网络(互联网、局域网)上的任何一台计算机都有一个独立的ip地址。
ip地址由4段3位长度的数字组成, 3位数字的取值范围 0-255。如: 102.15.201.10
特殊ip:
127.0.0.1 : 回环地址,每一台电脑都有该ip,指向当前使用的电脑
192.168.*. *: 该网段是专门用于做==局域网==的ip段。
3.3 域名
域名(Domain Name): 每个网站都有一个自己的域名。人们可以在浏览器中输入域名来访问对应的网站。
淘宝: www.taobao.com
百度: www.baidu.com
特殊域名:
localhost: 本地主机。在浏览器中输入localhost就会访问当前操作的这台电脑的web服务器。
3.4 DNS
DNS: Domain Name System 域名系统。在DNS服务器中保存了域名和IP的映射关系。主要工作是将域名转换为IP地址,因为我们通过浏览器访问网站时,实际上是去找对应的IP地址。
域名: 网站的名称,就相当于人名。
IP: 网站在网络上的实际地址,就相当于人的住址。
一般访问网站时都是输入域名的(例如: www.tmall.com www.163.com),但是在实际访问时域名会被DNS转换为IP地址。
DNS工作机制图:
hosts文件可以手动设置域名和IP的映射关系
dns缓存可以保存曾经访问过的域名和IP的映射关系
工作步骤:
在浏览器中输入 www.taobao.com,按下回车
浏览器首先在本机中的 hosts文件和dns缓存中查询,www.taobao.com的IP地址。如果有,则获取该IP地址,然后去访问淘宝服务器。 如果没有,则向dns服务器发送解析请求。
dns服务器获取到浏览器请求信息之后, 将域名转换为IP地址,再将IP地址返回给浏览器。
浏览器获取到IP地址,然后通过IP地址访问淘宝服务器。
windows下查看dns缓存:
ipconfig /displaydns
ipconfig /displaydns > c:/dnscache.txt 将dns缓存导入到c:/dnscache.txt文件
windows下清除dns缓存
ipconfig /flushdns
3.5 端口
端口是英文port的意译。端口可以理解为区分服务器上服务的标号。
已被占用的著名端口号:
80: Web端口号, Apache、Nginx、IIS
3306: MySQL端口号
21: FTP端口号, FTP软件
22: SSH端口号
25: sendmail端口号
......
因为Web服务的默认端口号是80,所以在地址栏可以不输入,但是如果将端口号改为其他的(如:8088),那就必须输入端口号,才能正常访问。
端口号取值范围: 0-65535
3.6 C/S和B/S架构
C/S软件体系结构,即Client/Server (客户机/服务器)结构。
核心特点:==要下载一个客户端==,例如:QQ、微信、LOL、王者荣耀、绝地求生等。
C/S结构的软件,服务器主要做==数据转发==工作。以QQ聊天为例:
任何两个人聊天的内容都会发送到QQ服务器上,然后再由QQ服务器进行转发
王小贱和小仙女聊天
唐小贱发送一句话,这句话会先发送到QQ服务器,再由QQ服务器转发到小仙女的客户端。
B/S软件体系结构,即Browser/Server (浏览器/服务器)结构。
核心特点:==使用浏览器(Chrome、Firefox等)进行操作==,例如:淘宝、京东、新浪等。
B/S结构软件,服务器承担了所有业务,浏览器只是用来显示最终内容的。
思考问题: B/S的优势和劣势, C/S的优势和劣势。
B/S的优势: 部署方便,容易维护。用户使用方便(一个浏览器即可)。
B/S的劣势: 客户端功能简单
C/S的优势: 客户端的功能强大
C/S的劣势: 必须下载客户端非常麻烦,升级维护麻烦
4. 静态网站和动态网站
静态网站: 页面永远都一样(页面当中的数据是死的)
动态网站: 页面中的数据从数据库来(数据是活的)
动态网站实现需要一种后端技术来支撑: PHP、JSP、 ASP、Python等
Javascript也能作为后端技术,但是需要Nodejs运行环境来支撑。