HTTP 概述
超文本传输协议是互联网上应用最为广泛的一种网络协议。所有的 WWW 文件都必须遵守这个标准。
请求方法
HTTP/1.1 定义的请求方法有 8 种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。最常的两种是 GET 和 POST,如果是 RESTful 接口的话一般会用到 GET、POST、DELETE、PUT。
常见状态码
- 200 :成功。
- 400 :客户端请求有语法错误,服务器端不能理解。
- 401 :该请求可能未经过授权。
- 403 :服务器端收到该请求,但是拒绝为它提供服务,可能是没有权限等等。
- 404 :该资源没找到。
- 500 :服务器端发生了一个不可预知的错误。
- 503 :服务器端当前还不能处理客户端的这个请求,可能过段时间之后才能恢复正常。
浏览器访问过程:
当我们在浏览器中输入一个网址,比如www.baidu.com
,浏览器就会加载出baidu的主页。
1.首先浏览器请求 DNS 服务器,通过 DNS 获取相应的域名对应的 IP。
2.通过 IP 与目的主机建立 TCP 连接。
3.发送和接受数据(获取网页内容)。
4.断开 TCP 连接。
网站组成:
目前多数网站由域名、空间服务器、DNS 域名解析、网站程序、数据库等组成。
web前端:
HTML:将元素进行定义
超文本标记语言
HTML 是写出我们网页的结构
CSS
CSS对展示的元素进行定位
CSS 就是我们网页的美容师,为我们的网页添加样式
JavaScript
JavaScript 的组成:
ECMAScript:JavaScript 的语法标准。
DOM:JavaScript 操作网页上的元素的 API。
BOM:JavaScript 操作浏览器的部分功能的 API。
JavaScript实现相应的效果和交互。
可以使用任何文本编辑工具编写,然后使用浏览器就可以执行程序。
是一种解释型脚本语言:代码不进行预编译,从上往下逐行执行,不需要进行严格的变量声明。
主要用来向 HTML 页面添加交互行为。
PHP
WEB服务器类型:
Web服务器一般指网站服务器,WEB服务器也称为WWW(WORLD WIDE WEB)服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、 Nginx 、IIS。
Apache也被叫做httpd服务器,是目前使用最广泛的web服务器
优点:小巧,灵活,可扩展,稳定。
缺点:软件开源,所以很多的漏洞可能很容易被人查找到。
Nginx是Linux平台下的优秀Web服务器。
优点:压缩率高,支持负载均衡,速度快
缺点:需要掌握熟练的Linux命令才能应用
IIS是微软平台的Web服务器,是针对Windows平台的服务器。它和NET语言非常的搭配,新手掌握起来也比较快。
优点:安装配置简单,学习起来容易
缺点:平台适用性单一,安全性有待提高
WebLogic是专门应用于企业级开发的web服务器,比较常见的是和Java语言搭配。
优点:安全性高,专业性强,耦合度低
缺点:不容易掌握,需要有一定的专业积累才能熟练应用
Tomcat是很多Java学习者都非常熟悉的web服务器,一般刚开始学习Java Web开发的人都会使用Tomcat作为服务器进行练习。
优点:简单易掌握,部署容易,应用广泛
缺点:扩展性不强,可配置性弱,大并发能力不强
Lighttpd是一款开源的web服务器,比较的轻巧,功能也很多。目前在使用率上比较少,还没有推广起来。
优点:小巧精致,功能强大
缺点:漏洞较多,学习资源不多
Sun是一款针对Solaris的web服务器,应用范围不是很广泛,只应用于Sun公司的相应web产品。
优点:针对性强,并发性高,速度快,效率高
缺点:掌握难,适应性不高
Jetty是专门针对Java Web的服务器,它被用来运行Servlet程序,是众多服务器中最局限的一个了。
优点:内容简单,容易掌握
数据库类型:
关系型数据库(关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内)主要有:
Oracle、PostgreSQL、MySQL、DB2、Microsoft SQL Server、Microsoft Access等等。
Oracle:高效率、可靠性好的、适应高吞吐量的数据库解决方案
PostgreSQL:是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)
Mysql:主要为个人使用者和中小型企业
DB2z:主要应用于大型应用系统。
SQL Server:在windows平台上使用,使用方便,桌面操作
Microsoft Access:小型企业,大公司的部门
非关系型数据库主要有:
NoSql、Cloudant、MongoDb、redis、HBase等等。
环境搭建:
linux+Nginx+php-fpm+mysql(LNMP)
linux+Apache+php-fpm+mysql(LAMP)
windows+Apache+Tomcat+PHP+JSP+MySql
windows+IIS+mysql+php
参考资料:
http://www.coozhi.com/youxishuma/g4/63698.html