web服务器架构

       

 

 

 

 

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

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

V_海贼王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值