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/ 服务排名, 可以查看各网站使用的服务器