动手
XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,它是一个集成的搭建服务器环境的安装包,操作简便,非常适合接触后端语言的初学者
在本地安装 Apache 与 PHP。安装 xampp 套件即可。XAMPP 里面包含 Apache 和 PHP.windows 用户可安装 WAMP,安装包体积相对小一些
1.安装xampp:
2.本地的php文件
3.新浪云线上地址
问题
1.简单描述下web 服务器、PHP、数据库、浏览器是如何实现动态网站的?
- 1.发送请求:首先用户在浏览器中输入url,浏览器通过url解析出域名&端口号&请求资源,再通过浏览器的本地缓存/系统缓存/路由器缓存/isp缓存一般可以解析出对应的ip地址,接着打包http请求,即发送http报文给服务器,里面包含一些服务器需要知道的参数,例如请求方式get,http协议版本,浏览器版本,浏览器识别的文件类型和encoding等等
- 2.返回数据:web服务器接收到请求后会在自己对应的目录下寻找相应的文件,找到后会告诉浏览器说已找到
- html文件:web服务器会在自己目录下寻找,找到后直接反馈给客户端浏览器
- php文件:web服务器不能处理php动态语言脚本文件,就会将用户请求的php文件发送给php应用服务器(需要事先安装),php应用服务器接受php文件,将php文件翻译成html静态代码,再把它发给web服务器,web服务器再发回给客户端浏览器
- 数据操作:如果请求中设计到数据的操作,web服务器会委托php应用服务器去连接(通过对数据库连接的代码)和操作(在php程序中执行标准的SQL查询语句)本机数据库或网络上其他机器上的数据库,将返回的数据生成静态html代码,再把它发给web服务器,web服务器再发回给客户端浏览器
- 3.渲染呈现:浏览器根据服务器的反馈,下载html静态代码,然后浏览器对其进行解析,最终将网页呈现出来。
2.常见的 WEB 服务器有哪些?
- Apache 使用的最广的一个web服务器软件,可以运行在unix,linux,windows系统中,因为它是开源的,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。
Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。 - IIS Internet信息服务(Internet Information Server)。微软公司主推的服务器,最新的版本是Windows2008里面包含的IIS 7,IIS与Window Server完全集成在一起,因而用户能够利用Windows Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。
- Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。
- Tomcat 技术先进、性能稳定,运行Servlet和Jsp web的应用软件的容器,静态和高并发处理弱
3.打开浏览器,在地址栏输入 http://jirengu.com 页面展现了饥人谷官网的信息,整个过程发生了什么?(饥人谷官网后台语言 php,web服务器 nginx,数据库 mysql)
- 输入http://jirengu.com页面时,浏览器会解析域名,查找域名对应的ip
- 浏览器会从缓存中查找,如果没有就会熊本地缓存中查找,之后会查找查找本地DNS解析器缓存,查看是否有这个网址的域名映射关系,如果有,直接返回,完成域名解析;如果没有则通过DNS服务器查找本地资源,还没有就会逐级上传到“上一级DNS服务器”,直到解析完成。
- 域名解析完成后,则根据IP地址的服务器,浏览器帮打包http请求并发送,与服务器建立连接的过程需要经过三次握手。
- 服务器接到请求后,寻找对应文件,web服务器接收到请求后会在自己对应的目录下寻找相应的php文件:
- 翻译php文件:找到后将文件发给php服务器,php服务器打开并解释php文件,如果碰到需要操作数据的地方,php服务器就会通过代码连接数据库,并执行标准的SQL语句向数据库查询或操作数据
- 数据库服务器接收到php应用服务器的指令后,将查询操作后的数据返回给php应用服务器
- php服务器完成翻译发送给web服务器:综合返回的数据,与php文件一起翻译成静态html文件,并将它返回给web服务器
- web服务器接收php服务器生成的html静态代码,并反馈给浏览器,让浏览器开始下载
- 下载并解析渲染html文档:浏览器边下载边解析,开始生成html树和css树,并渲染页面
- 页面渲染完成,浏览器将饥人谷官网绘制呈现给用户
php语法的学习可以从此处开始
然后系统的从PHP 变量、PHP echo/print、PHP 数据类型、PHP 字符串、PHP 运算符、PHP if…else、PHP 数组、PHP 函数、PHP 表单、PHP $_GET、PHP $_POST,依次学起