URI: 为什么出现?光靠IP不行。Uniform Resource Indentifier

统一:路径格式上的统一

URL: Uniform Resource Locator 是URI的一个子集

protocal://HOST:port/path/to/file


WEB

http方法:get/post, put/delete, head

MIME: Multipurpose Internet Mail Extention 多用途互联网邮件扩展

将非文本数据在传输前重新编码为文本格式,接收方还原。还能调用相应程序打开(.rar,jpg)

浏览器使用插件解析不同文本格式

Applet, JRE

动态网页: 服务端存放的不是HTML格式,而是编程语言开发的脚本,脚本运行后生成HTML文档


客户端请求,通过内核,端口,用户进程,返回内核,获取磁盘文件,动态文件还需要1个进程 


HTTP协议:

请求报文:

<method> <request-URL> <vrsion>

<headers>

<entity-body>报文主体

GET / HTTP/1.1

HOST: baidu.com

Connection: keep-alive

 

响应报文:

<version> <status> < reason-phrase>

<headers>

<entity-body>

HTTP/1.1 200 OK


status 状态码:

1xx: 纯信息

2xx:  成功类(200) 

3xx:  重定向(301, 302, 304)

4xx:  客户端错误(404)

5xx:  服务器端信息错误(500)


WEB服务器的主要操作

 01, 建立连接 == 接受或拒绝客户端的连接请求

 02, 接收请求 == 通过网络读取HTTP请求报文

 03, 处理请求 == 解析请求报文并作出相应的动作

 04, 访问资源 == 访问请求报文中相关的资源

 05, 构建响应 == 使用正确的首部生成HTTP响应报文

 06, 发送响应 == 向客户端发送生成的响应报文

 07, 记录日志 == 当已经完成的HTTP失误记录进日志文件


HTTP1.1  改进:

1, 长连接

2, 客户端缓存机制


服务器模型:

单进程/单线程

多进程/多线程

进程池/线程池 事件驱动


Server:

apache->httpd

IIS

nginx(Tengine)

lighttpd

thttpd

应用程序服务器

IIS(ASP)

tomacat(apache, JSP)

Websphere(JSP)

Weblogic(JSP)

JBoss

http://www.netcraft.com/ 服务排名, 可以查看各网站使用的服务器