web服务_apache基础


http:

http协议:

http/0.9:原型版本;

http/1.0:cache, MIME(multipupose internet Mail Extensions)

method:GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS、...

http/1.1:缓存功能大大增强

speedy:spdy

http/2.0

80/tcp

https协议:

443/tcp

IANA:

0-1023:众所周知的,永久地分配给固定的应用使用;特权端口(仅root可用);

1024-41951:注册端口,但要求不是特别严格,分配给程序注册为某应用使用;

41952+:客户端程序使用的随机端口,动态端口,或称为私有端口;/proc/sys/net/ipv4/ip_local_port_range;

BSD Socket:IPC一种实现,允许位于不同主机之上的进程之间互相通信的解决方案之一;

Socket API:

SOCK_STREAM:tcp套接字;

SOCK_DGRAM:udp套接字;

SOCK_RAW:裸套接字;

根据套按使用的地址格式:

AF_INET:ipv4地址家族;

AF_INET6:ipv6

AF_UNIX:Unix_sock;

TCP Finite State Machine:

TCP协议的特性:

建立连接:三次握手;

将数据打包成段:校验和(CRC32)

确认、重传及超时;

排序:逻辑序号;

流量控制:滑动窗口;

拥塞控制:慢启动及拥塞避免算法;

http:hyper text tranfer protocol, 超文本传输协议;

Html: hyper text mark language,超文本标记语言;

工作模式:request/response

一次完整的http事务:请求<-->响应;

web资源:

一个html文档;

一个图片;

一个mp3文件片断;

...

URL:资源标识,用于描述服务器上某特定资源的位置;

Uniform Resource Locator

scheme://Server[:port]/PATH/TO/SOME_RESOURCE

资源的种类:

静态资源:.jpg, .gif, .png, .html, .txt,  直接请求相应 不需要运算

动态资源:需要在服务器或客户端运行后返回结果

服务器端技术:.php, .jsp, ...

客户端技术:.js

一次完整的http请求的处理过程:

(1) 建立或处理连接:接收请求或拒绝请求;

(2) 接收请求:接收客户端发来的具体请求报文;

(3) 处理请求:对请求报文进行解析;

(4) 访问资源:通过存储IO获取用户请求的资源;

(5) 构建响应报文:

(6) 发送响应报文 :

(7) 记录于日志中:

并发响应模型:

单进程I/O模型:串行响应;

多进程I/O模型:同时启动多个进程,每个进程响应一个请求;

复用的I/O模型:一个进程响应多个请求;

多线程模型:一个进程生成多个线程,每个线程响应一个请求;

事件驱动:一个进程直接响应多个请求;

复用的多进程I/O结构:启动m个进程,每个进程生成n个线程,每个线程响应一个请求;

资源映射:

chroot:

/var/test/a/b/index.html

chroot /var/test,

/a/b/index.html

例如:/var/www/html/

images/logo.jpg

http://www.magedu.com:80/images/log.jpg

DocumentRoot  页面资源存放的路径

web服务器的资源映射机制:

(a) DocumentRoot

(b) alias

(c) 虚拟主机的docroot

(d) 用户的docroot

...

http请求处理中的连接方式:

保持连接:长连接,keepalive 当客户端请求每一个资源时都会建立一次tcp链接 每次一链接请求一个资源,大量资源都用在握手上,效率低下,保持链接则可以基于一次握手传送多个资源

非保持连接:短连接,  不保持链接 每一个资源单独握手

折中思路:防止长连接占用而不请求资源

时间:时间限制

数量:数量限制

http协议的实现:

简单的基本http协议服务器:

httpd (apache)

nginx

lighttpd

application server:动态服务器技术;

iis, tomcat, jetty, resin, ...

weblogic, websphere, jboss, glassfish, ...

httpd:

www.netcraft.com  数据挖掘网站

ASF:apache software foundation

apache,a patchy server, httpd

httpd的特性:

高度模块化:core + modules

DSO: Dynamic shared objects

支持动态装载和卸载;

MPM:multipath processing modules 多路处理模块 (httpd 2.2以前的版本不支持DSO机制)

prefork:一个主进程,多个子进程;一个进程响应一个请求;

主进程:管理子进程;创建套接字;接收用户请求,并派发给某子进程处理;...

子进程:处理请求、响应请求;

worker:多进程多线程模型;一个线程响应一个请求;

主进程:管理子进程;创建套接字;接收用户请求,并派发给某子进程处理;...

子进程:负责管理线程;

线程:处理并响应请求;

event:事件驱动模型,多进程模型,每个进程响应多个请求;

主进程:管理子进程;创建套接字;接收用户请求,并派发给某子进程处理;...

子进程:处理并响应请求;

httpd-2.2:event为测试模型;

CentOS 6:MPM不支持DSO机制;

httpd-2.4:production ready;支持DSO机制;

CentOS 7:

***************************************

httpd的功能特性:

CGI:common gateway interface;

虚拟主机:IP, PORT, HOSTNAME

反向代理

负载均衡:bytraffic, bybusiness, byrequest

路径别名

丰富的用户认证机制

basic:

digest:

支持第三方模块

...

*******************************************

CentOS 6:httpd-2.2

sysinit脚本:/etc/rc.d/init.d/httpd

程序环境:

配置文件:

/etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/*.conf

程序文件:

/usr/sbin/httpd

/usr/sbin/httpd.event

/usr/sbin/httpd.worker

脚本配置文件:/etc/sysconfig/httpd

日志文件:

/var/log/httpd

access_log:访问日志

error_log:错误日志

站点文档根目录:

/var/www/html

模块文件路径:

/usr/lib64/httpd/modules

chkconfig httpd on|off

CentOS 7:httpd-2.4

Systemd Unit File:/usr/lib/systemd/system/httpd.service

程序环境:

配置文件:

/etc/httpd/conf/httpd.conf

/etc/httpd/conf.modules.d/*.conf

/etc/httpd/conf.d/*.conf

程序文件:

/usr/sbin/httpd

MPM支持DSO机制,所以各为一个独立的模块;

日志文件:

/var/log/httpd

access_log:访问日志

error_log:错误日志

站点文档根目录:

/var/www/html

模块文件路径:

/usr/lib64/httpd/modules

systemctl enable httpd.service

时间: 2024-10-16 18:35:52

web服务_apache基础的相关文章

web服务_apache配置(2)v1.0

httpd-2.2的基础配置 /etc/httpd:ServerRoot conf/httpd.conf.conf.d/*.conf:配置文件 logs:日志文件 modules:模块文件 主配置文件:/etc/httpd/conf/httpd.conf directive value directive:不区分字符大小写:例如:ServerRoot: value:除了文件路径这外,大多数不区分字符大小写: ### Section 1: Global Environment           

基于 REST 的 Web 服务:基础

基础 REST 定义了一组体系架构原则,您可以根据这些原则设计以系统资源为中心的 Web 服务,包括使用不同语言编写的客户端如何通过 HTTP 处理和传输资源状态. 如果考虑使用它的 Web 服务的数量,REST 近年来已经成为最主要的 Web 服务设计模型. 事实上,REST 对 Web 的影响非常大,由于其使用相当方便,已经普遍地取代了基于 SOAP 和 WSDL 的接口设计. REST 这个概念于 2000 年由 Roy Fielding 在就读加州大学欧文分校期间在学术论文“Archit

web服务_apache配置(3)v1.0

11.基于用户的访问控制 认证质询: WWW-Authenticate:响应码为401,拒绝客户端请求,并说明要求客户端提供账号和密码: 认证: Authorization:客户端用户填入账号和密码后再次发送请求报文:认证通过时,则服务器发送响应的资源: 认证方式有两种: basic:明文 digest:消息摘要认证 安全域:需要用户认证后方能访问的路径:应该通过名称对其进行标识,以便于告知用户认证的原因: 用户的账号和密码存放于何处? 虚拟账号:仅用于访问某服务时用到的认证标识 存储:(ttt

web应用程序和web服务

我们在建立网站服务时,有两种不同的web开发模式: 一.web应用程序(web application):web应用程序是透过http请求来存取web服务器的网页,或执行服务端网页技术的程序,例如:ASP,ASP.NET,JSP,PHP. 二.web服务(web services):透过通讯协定SOAP或RESTful api提供资料交换和工作分享,这也是一种web应用程序,只不过是透过web服务来执行. web应用程序(web application) web应用程序简单来说就是一组网页(包含

WEB集群笔记(1)-Web服务和HTTP协议

01.Web服务和HTTP协议 01.01.Web服务的基础:DNS Web服务离不开基础网络和DNS服务. 用户访问网站基本流程,即DNS解析流程 1).浏览器输入网址www.baidu.com,查找本地DNS缓存及hosts文件信息,如果有直接获取IP地址: 2).若没有,发送解析请求给DNS服务器地址,如果LDNS服务器缓存有对应地址,则获取IP地址; 3).若没有,LDNS继续请求DNS根(.)服务器,一层层查找直到找到baidu.com域名对应的授权DNS服务器,该服务器返回IP解析记

web服务的一些基础笔记

1. MIME(Multipurpose Internet Mail Extension,多用途互联网邮件扩展) 它是SMTP能够传输非文本格式文件的根源,将他引入到HTTP,那么HTTP也可以传输图片声音等非文本格式的文件,所以他也是HTTP可以传输非文本格式文件的根源. 将非文本数据在传输数据前重新编码为文本格式,接收方能够用相反的方式将其重新还原为原来的格式,还能够用相应的程序来打开. 2.flash,Applet(Java中), Flash也是一种变成语言.可以有动态网页. 3.动态网页

J2EE基础之Web服务简介

J2EE基础之Web服务简介 1.什么是Web服务? 在人们的日常生活中,经常会查询网页上某城市的天气信息,这些信息都是动态的.实时的,它是专业的气象站提供的一种服务.例如,在网上购物时,通常采用网上支付的方式,这是通过使用第三方提供的支付工具来实现的.在网络上提供这样的服务,我们称之为Web服务. 从软件开发者的角度来看,Web服务是一组规范的集合.这种规范用来定义不同应用系统之间是如何交互的,包括信息传递的内容.格式,信息的传递协议,以及相关的安全.策略和互操作等关键特性. 从编程使用者的角

linux学习笔记-工程师技术:HTTP服务基础(Web服务基本搭建)、网页内容访问、安全Web服务、动态网站的部署

两台虚拟机,均要检测 1.IP地址     ifconfig 2.是否可以解析,nslookup server0.example.com 3.Yum是否可用   yum repolist 4.防火墙默认区域修改为trusted ------------------------------------------------------------------------------------------- HTTP服务基础 Web通信基本概念 基于 B/S (Browser/Server)架构

HTTP协议基础与web服务的重定向,跳转以及请求转发

JavaWeb中,HttpServletRequest与HttpServletResponse几乎是处理各种请求与操作必备的参数,与原始的ServletRequest/ServletResponse相比,它们符合HTTP协议,所以首先从http协议入手,回顾一些基本的内容,而后根据协议来总结常用的知识点. 首先来介绍一下dos环境下简单的http发送报文,接收报文的方法.运行输入cmd,打开命令提示符输入telnet 127.0.0.1 8080,回车后会出现一个输入界面,但此时输入的字符都无法