1.1普通用户访问网站
- 打开浏览器,输入一个URL,请求服务器上的资源。
- 网站的访问对于用户而言,其实是一个输入URL,然后其他的工作就是浏览器与互联网之间的操作,用户不需要管理,只管看到最后的结果,但实际上一个简单的URL包含了很多信息。
一个URL通常包含几个部分:HTTP协议、主机名和URL。
1.HTTP协议:HTTP协议是互联网上浏览器与服务器之间进行访问所规定数据交换规范,通常以http:// 开始。
2.主机名:即服务器网站的名字,可以通过主机名确定互联网上对应的某台提供服务的电脑(主机),通常是www.xxx.com/cn
3. URL:统一资源标志。是指服务器上对应要被访问文件从网站根目录开始对应的路劲
1.2 网站访问实际流程
互联网中的网站访问,本质是一个互联网上有一台已知的服务器,然后用户知道服务器对应的 “名字”(URL),然后通过URL,在经过互联网协议(HTTP协议)去自动寻找,并且服务器提供数据,浏览器解析数据的过程。
1.互联网基本知识
- 所有计算机在互联网上访问到的内容都是由相应的服务器提供资源。
- 服务器的本质不是硬件,而是装有服务器软件的计算机。
- 装有服务器软件就可以对外提供对应服务
- 一台计算机可以安装多种服务软件
- 所有计算机在互联网上都有一个唯一的标识代表自己:IP
- IPV4 是由32个比特位组成,转换成10进制分成4段,如112.90.32.8
- IPV6 是由128个比特位组成,转换成16进制分成8段,如 31da:1d3:0:2f3b:2aa:ff:fe28:9c5c
- 特殊的IP:127.0.0.1 代表本机电脑
- 任何软件都有属于自己的对外交流的入口:端口(Port),任何客户机尝试访问服务器都需指定访问的端口(一般常用默认的端口有):
- Web 服务端常用端口:80
- Telnet 远程登录端口:23
- FTP 服务器常用端口:21
- MYSQL常用端口:3306
- IP能够找到电脑,但是用户记不住,所以需要给IP设定一个别名方便用户记住,这种别名叫做域名(Domain Name)
- 域名的存在纯粹是为了方便用户记住:www.baidu.com
- 域名是人为的不具有唯一性,要找到服务器只能通过IP,所以计算机需要将用户输入的域名转化为对应的IP地址才能找到服务器,这个过程叫做域名解析,提供该服务叫域名系统DNS(Domain Name System)
- 提供服务的产品公司将域名和服务器IP维护到DNS上(需要收费)
- 本地域名解析:可以使用计算机自带的本地域名系统hosts文件(c:\Windows\System32\drivers\etc\hosts)
2.服务器基本分类
服务器根据所安装的软件不同,分别对外提供不同的服务。
- 较为常见的集中服务器如下:
- 域控制器
- 文件服务器
- Web服务器
- FTP服务器
- 邮件服务器
- 数据库服务器
web 服务器:一般指网站服务器,指放在因特网上某种计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个web 服务器是 Apache Nginx IIS。服务器使用HTTP(超文本传输协议)与客户端浏览器进行信息交流。
3.web 相关概念
- web 发展经历2个阶段,web1.0 和 web 2.0 ,也就是静态网站和动态网站。
- 静态网站阶段:
- 1.该阶段 HTML 语言就是web 向用户展示信息的最有效载体,网站有什么,用户看什么。
- 2.该阶段只需一个Web 服务器软件(Apache/nginx/IIS)就可以实现网站服务
- 动态网站阶段:
- 该阶段用户可以提供信息给网站供其他用户浏览,实现了网站与用户之间的互动
- 该阶段使用的语言为动态脚本语言例如(ASP、JSP、PHP)
- 动态阶段用户访问网站流程如下图:
- 静态网站阶段:
用户域名发起请求,apache服务器收到请求,发现是 index.php 后缀是 .php文件,交给php引擎去解析php文件,随后PHP中操作Mysql数据库,apache再将最新的数据以html的形式返回给用户。
- 此时,需要多种服务软件共同配合完成,其搭配方式就是:
- 操作系统
- web服务器
- 动态语言解释器
- 数据库服务器
- 全球使用PHP开发的WEB网站基本就2种:LAMP 或者 WAMP
- LAMP : Linux(操作系统) + Apache(Web服务器) + Mysql(数据库服务器) +PHP(脚本语言解释器)
- WAMP: Windows(操作系统) + Apache(Web服务器) + Mysql(数据库服务器) +PHP(脚本语言解释器)
总结:以上就是一个网站访问过程中,需要进行的必要的操作和流程, 以及一些基本的相关概念,了解了以上内容,就知道服务器是什么,服务器的搭建需要用到哪些东西,接下来的操作就是安装这些软件,并搭建自己的Apache 服务器在本地跑起来。