深入分析Java Web技术内幕 (一)

来源:互联网 发布:mac达芬奇安装目录 编辑:程序博客网 时间:2024/05/14 07:37

深入web请求过程

HTTP解析

常见的HTTP请求头

请求头 说明 Accept-Charset 用于制定客户端接受的字符集 Accept-Encoding 用于制定可接受的内容编码,如Accpet-Encoding:gzip。deflate Accept-Language 用于指定一种自然语言,如:Acept-Language-Zh-cn Host 用于制定被请求资源的Internet主机和端口号,如:Host:www.taobao.com User-Agent 客户端将它的操作系统、浏览器和其他属性告诉服务器 Connection 当前连接是否保持,如Connection:Kepp-Alive

常见的HTTP响应头

响应头 说明 Server 使用服务器名称,如Server:Apache、1.3.6(Unix) Content-Type 用来指说明发送给接受者的实体正文的媒体类型,如Contnet-Type:text/html;charset=GBK Content-Language 描述了资源所用的自然语言,与Accept-Language对应 Content-Length 指明实体正文的长度,用以字节方式存储的十进制数字来表示 Keep-Alive 保持连接的时间,如Keep-Alive:timeout=5,max=120

常见的HTTP状态吗

状态码 说明 200 客户端请求成功 302 临时跳转,跳转的地址通过Location制定 400 客户端请求有语法错误,不能被服务器识别 403 服务器收到请求,但是拒绝提供服务 404 请求的资源不存在 500 服务器发生不可预期的错误

清楚缓存的域名
使用 ipconfig/flush来清楚缓存域名

几种域名解析方式
A记录:域名对应IP地址
MX记录:将某个域名下的邮件服务器指向自己的MAIL Server
CNAME记录:全程 Canonical Name(别名解析)。为一个域名设置一个或多个别名。
NS记录:为某个域名制定DNS解析服务器。
TXT记录:为某个主机名或域名设置说明。

CDN 内容分布网络
用户可以就近取得所需的内容,提高用户访问网站的响应速度。比镜像更智能,可以比喻为:镜像(Mirror)+缓存(Cache)+整体负载均衡(GSLB),目前CDN都以缓存网站中的静态数据为主。CDN达到以下目标:可扩展、安全性、可靠性
负载均衡(Load Balance)
对工作进行平衡、分摊到多个操作单元上执行,如图片服务器、应用服务器等,共同完成工作任务。提高服务器响应速度及利用效率,避免软件或者硬件模块出现单点失效等问题。
目前的负载均衡架构有三种,分别为:链路负载均衡、集群负载均衡和操作系统负载均衡。
链路负载均衡:通过DNS解析成不同的IP,用户根据IP访问不同的目标服务器。
集群负载均衡:分为硬件负载均衡和软件负载均衡,硬件一般要花费巨资购买一台高性能设备,缺点贵,而且当访问量超出极限时,不能进行动态扩容。软件负载均衡:使用多台廉价的PC搭建,成本低。缺点是一般一次访问请求要经过多次代理服务器,会增加网络延时。
操作系统负载均衡:通过操作系统的软中断或者硬件中断来进行负载均衡。
CND动态加速:在CDN的DNS解析中通过动态的链路探测来寻找回源最好的一条路径,然后通过DNS的调度将所有请求调度到选定的这条路径上回源,从而加速用户访问的效率。

0 0