服务端开发基础


  • 知道什么是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 安装

==核心重点: 安装任何与开发相关的软件时都必须安装到英文路径下。== (不安装到英文路径下可能产生未知的错误)

  1. 解压压缩包
  1. 设置安装路径

必须是英文路径,路径中不能出现中文

  1. 安装过程
  1. 安装完成,显示 图形化控制界面
  1. 点击 '启动' 按钮,开启服务器(此处同时开启了 Apache和MySQL)
  1. 允许 Apache 和 MySQL 访问网络
  1. 测试

打开浏览器输入: 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的映射关系

工作步骤:

  1. 在浏览器中输入 www.taobao.com,按下回车

  2. 浏览器首先在本机中的 hosts文件和dns缓存中查询,www.taobao.com的IP地址。如果有,则获取该IP地址,然后去访问淘宝服务器。 如果没有,则向dns服务器发送解析请求。

  3. dns服务器获取到浏览器请求信息之后, 将域名转换为IP地址,再将IP地址返回给浏览器。

  4. 浏览器获取到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运行环境来支撑。

你可能感兴趣的:(服务端开发基础)