动态网站和LAMP学习笔记

并发响应用户请求时网络I/O
单进程
多进程/线程:prefork(一个进程响应一个请求),worker(一个线程响应一个请求)
select()
复用模型:单线程响应多个用户请求(事件驱动)
epoll()
多线程,每个线程响应多个请求 m*n
网络不支持异步
I/O模型
同步阻塞
同步非阻塞
I/O复用
时间驱动
AIO:Linux 异步 I/O 是 Linux 内核中提供的一个相当新的增强。它是 2.6 版本内核的一个标准特性,但是我们在 2.4 版本内核的补丁中也可以找到它。AIO 背后的基本思想是允许进程发起很多 I/O 操作,而不用阻塞或等待任何操作完成。稍后或在接收到 I/O 操作完成的通知时,进程就可以检索 I/O 操作的结果。
web服务器: httpd nginx lighttpd
支持 html plaintext jpeg gif png video
多媒体类型 主类型/次类型
HTTP请求和响应首部
首部:通用、请求、响应、实体、扩展
条件式请求:If-Modified-Since If-None-Match

首部

   

   

   首部
   

   httpd:虚拟主机、https、别名、
        Options

动态网站:是一种和静态网页相对的编程技术。静态网页,由html编码,除非你修改他的代码,否则他就不会有变化,而动态网页,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的,能与后台数据库就行就行交互。
程序:
java applet
服务器端执行
静态资源:jpeg,html,plaintext
动态资源:程序

硬编码:直接嵌套进程序中,而且很难剥离出来,与从外部获取数据或在运行时生成数据不同。
分体式结构:
可嵌入html中的web开发机制:
程序=指令+数据
程序=算法+数据结构
文本数据库缺陷
硬编码的问题
数据冗余和不一致
数据访问困难
数据孤立
完整性问题
原子性问题
并发访问问题
安全性问题
DMBS: DataBase Management System(数据库管理系统)
用户层 逻辑层 物理层
数据模型
层次模型
网状模型
关系模型
库和表
非关系型数据库模型:nosql
LAMP:Linux Apache MySql php/perl/python
LNMP:Linux Nginx MySql php/perl/python

你可能感兴趣的:(学习过程总结)