《深入分析Java Web技术内幕》读书笔记
第1章 - 深入Web请求过程
互联网网络架构类型:
- C/S架构:Client / Server。采用长连接交互模式
- B/S架构:Browser / Server。优势在于浏览器具有统一性/简单。服务端基于HTTP,易于开发
代理服务器(位于局域网和Internet之间):
- 标准代理缓冲服务器:浏览器指出IP&端口号向Internet发起请求
- 透明代理缓冲服务器:同上,但不需要单独配置,为ISP Internet服务商提供
- 反向代理缓存服务器:接受用户请求发给Web服务器
HTTP内容:
参考:http://tools.jb51.net/table/http_header,常见内容
- 请求头:
请求头 | 说明 | 实例 |
Accept-Charset | 浏览器可以接受的字符编码集。 | Accept-Charset: iso-8859-5 |
Accept-Encoding | 指定浏览器可以支持的web服务器返回内容压缩编码类型。 | Accept-Encoding: compress, gzip |
Accept-Language | 浏览器可接受的语言 | Accept-Language: en,zh |
Host | 指定请求的服务器的域名和端口号 | Host: www.zcmhi.com |
User-Agent | User-Agent的内容包含发出请求的用户信息 | User-Agent: Mozilla/5.0 (Linux; X11) |
Connection | 表示是否需要持久连接。(HTTP 1.1默认进行持久连接) | Connection: close Connection:keep-alive |
- 响应头:
请求头 | 说明 | 实例 |
Content-Encoding | web服务器支持的返回内容压缩编码类型。 | Content-Encoding: gzip |
Content-Language | 响应体的语言 | Content-Language: en,zh |
Content-Length | 响应体的长度 | Content-Length: 348 |
Server | web服务器软件名称 | Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) |
Set-Cookie | 设置Http Cookie | Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1 |
- 状态码:
状态码 | 状态码英文名称 | 中文描述 |
---|---|---|
100 | Continue | 继续。客户端应继续其请求 |
200 | OK | 请求成功。一般用于GET与POST请求 |
302 | Found | 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI |
400 | Bad Request | 客户端请求的语法错误,服务器无法理解 |
403 | Forbidden | 服务器理解请求客户端的请求,但是拒绝执行此请求 |
404 | Not Found | 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面 |
500 | Internal Server Error | 服务器内部错误,无法完成请求 |
DNS域名解析:
DNS解析过程为:
- 浏览器检查缓存中有没有这个域名对应的解析过的IP地址,如缓存中有,解析结束
- 如果浏览器缓存没有,浏览器会查找操作系统缓存中是否有这个域名对应的DNS解析结果