这里这本书的预读章节,看完预读部分,解答了一些疑惑,也相信这是一本夯实Java Web架构体系的好书。

HTTP协议解析

开发一般使用firefox的firebug调试,这的确是一个利器,HTTP的请求头响应头一目了然。

浏览器缓存机制

当我们使用 Ctrl+F5 组合键刷新一个页面时, HTTP 的请求头中会增加Pragma:no-cache 和 Cache-Control:no-cache,它告诉服务端我们要获取最新的数据而不是缓存。

试了一下,在firefox和chrome下都可以达到效果,这对开发还是不错的。

Last-Modified 字段一般用于表示一个服务器上的资源的最后修改时间,一般静态内容都会自动加上这个,浏览器再次请求时在请求头中增加一个 If-Modified-Since: Sat, 25 Feb 2012 12:55:04 GMT 字段,询问当前缓存的页面是否是最新的,如果是最新的就返回 304 状态码,告诉浏览器是最新的,服务器也不会传输新的数据。

DNS解析过程

大体是这样的:浏览器缓存 --> 本机缓存 --> DNS。当然DNS有很多层次。

使用nslookup, dig 命令可以分析解析过程

Shell代码
  1. lingceng@lingceng-Vostro-1450:~$ dig www.taobao.com
  2. ; <<>> DiG 9.8.1-P1 <<>> www.taobao.com
  3. ;; global options: +cmd
  4. ;; Got answer:
  5. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61037
  6. ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 3, ADDITIONAL: 2
  7. ;; QUESTION SECTION:
  8. ;www.taobao.com. IN A
  9. ;; ANSWER SECTION:
  10. www.taobao.com. 1359 IN CNAME www.gslb.taobao.com.danuoyi.tbcache.com.
  11. www.gslb.taobao.com.danuoyi.tbcache.com. 1360 IN CNAME scorpio.danuoyi.tbcache.com.
  12. scorpio.danuoyi.tbcache.com. 219 IN A 61.55.164.241
  13. scorpio.danuoyi.tbcache.com. 219 IN A 61.55.164.251
  14. scorpio.danuoyi.tbcache.com. 219 IN A 121.22.1.251
  15. ;; AUTHORITY SECTION:
  16. danuoyi.tbcache.com. 81834 IN NS danuoyins3.tbcache.com.
  17. danuoyi.tbcache.com. 81834 IN NS danuoyins2.tbcache.com.
  18. danuoyi.tbcache.com. 81834 IN NS danuoyins1.tbcache.com.
  19. ;; ADDITIONAL SECTION:
  20. danuoyins2.tbcache.com. 467 IN A 110.75.20.28
  21. danuoyins1.tbcache.com. 71 IN A 115.124.17.156
  22. ;; Query time: 5 msec
  23. ;; SERVER: 127.0.0.1#53(127.0.0.1)
  24. ;; WHEN: Wed Jan 16 20:47:33 2013
  25. ;; MSG SIZE rcvd: 259
lingceng@lingceng-Vostro-1450:~$ dig www.taobao.com; <<>> DiG 9.8.1-P1 <<>> www.taobao.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61037
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 3, ADDITIONAL: 2;; QUESTION SECTION:
;www.taobao.com.            IN  A;; ANSWER SECTION:
www.taobao.com.     1359    IN  CNAME   www.gslb.taobao.com.danuoyi.tbcache.com.
www.gslb.taobao.com.danuoyi.tbcache.com. 1360 IN CNAME scorpio.danuoyi.tbcache.com.
scorpio.danuoyi.tbcache.com. 219 IN A   61.55.164.241
scorpio.danuoyi.tbcache.com. 219 IN A   61.55.164.251
scorpio.danuoyi.tbcache.com. 219 IN A   121.22.1.251;; AUTHORITY SECTION:
danuoyi.tbcache.com.    81834   IN  NS  danuoyins3.tbcache.com.
danuoyi.tbcache.com.    81834   IN  NS  danuoyins2.tbcache.com.
danuoyi.tbcache.com.    81834   IN  NS  danuoyins1.tbcache.com.;; ADDITIONAL SECTION:
danuoyins2.tbcache.com. 467 IN  A   110.75.20.28
danuoyins1.tbcache.com. 71  IN  A   115.124.17.156;; Query time: 5 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Jan 16 20:47:33 2013
;; MSG SIZE  rcvd: 259

这是我ubuntu上dig的例子,其中A是Address,NS是NameServer,CName是Canonical Name(别名的意思)。这些在书中都有解释。

CDN 也就是内容分布网络(Content Delivery Network)

使用户可以就近取得所需的内容,提高用户访问网站的响应速度。有别于镜像,它比镜像更智能,可以做这样一个比喻:CDN = 镜像 (Mirror) + 缓存 (Cache) + 整体负载均衡 (GSLB)。

淘宝有 90%以上的数据都是由 CDN 来提供的,可见搭建企业级的网站平台CDN是很有必要的。CDN需要DNS是的配合使用,不同地点请求指向不同的CDN Server。

转载于:https://www.cnblogs.com/shhaoran/archive/2013/02/12/2924447.html

读《深入分析Java Web技术内幕》相关推荐

  1. 读《Android 安全架构深究》

    Android 安全架构深究 安全是一个非常立体而丰富得概念.在不同的场景下,安全有着不同的含义. 比如对于网络传输,安全指的是传输的数据不会被其他人看到.篡改.伪造及仿冒,传输的数据不会遭到破坏,数 ...

  2. 《最强Android书 架构大剖析》读书笔记

    文章目录 第一章 Android 体系结构的变革之路 1.2 Android系统源码目录 与Linux的异同 Android的框架 原生二进制可执行文件 Android 的原生库 核心(core)库 ...

  3. Android Jetpack架构组件之 Room(使用、源码篇)

    2019独角兽企业重金招聘Python工程师标准>>> 1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发 ...

  4. 抖音、美团等大厂千万级用户的Android客户端架构演进之路—

    在移动开发中,对开发者来说不同的人具有不同的能力.就像读一本书一样,一千个读者,有一千个哈姆雷特.但不管怎样,只要你是个软件开发者你就必须学习windows或Linux等操作系统的运行原理.Andro ...

  5. Android 图形架构之一 ——概述

    前言 本系列的文章,可以让你明白,一个View最终是如何显示到屏幕上的,从应用层到硬件抽象层.对分析app的卡顿,掉帧等 有很大帮助. 由于图形架构的涉及到的代码量很大,所以本篇先来个总体的概述,有个 ...

  6. Android display架构分析-SW架构分析(1-8)

    参考: Android display架构分析二-SW架构分析 Android display架构分析三-Kernel Space Display架构介绍 Android display架构分析四-m ...

  7. 高通Android display架构分析

    目录(?)[-] Kernel Space Display架构介绍 函数和数据结构介绍 函数和数据结构介绍 函数和数据结构介绍 数据流分析 初始化过程分析 User Space display接口 K ...

  8. [Android] Android MVP 架构下 最简单的 代码实现

    Android  MVP 架构下  最简单的 代码实现 首先看图: 上图是MVP,下图是MVC MVP和MVC的区别,在于以前的View层不仅要和model层交互,还要和controller层交互.而 ...

  9. Android系统架构-[Android取经之路]

    摘要:本节主要来讲解Android的系统架构 阅读本文大约需要花费10分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的平台设计,欢迎关注我,谢谢! 欢 ...

  10. Android系统架构图及简单的系统架构介绍

    2019独角兽企业重金招聘Python工程师标准>>> ndroid的系统架构和其操作系统一样,采用了分层的架构.从架构图看,android分为四个层,从高层到低层分别是应用程序层. ...

最新文章

  1. mysql查询动态表名的数据类型_Mysql中查询某个数据库中所有表的字段信息
  2. 宏基因组分析软件2综述、metaSPAdes、IDBA-UD、MetaQuast、Prokka、metaProdigal
  3. Linux定期监视某文件变化,监控Linux文件变化,防止服务器被黑
  4. yoyo思维题(困难) 组合数学
  5. 注册表模板-OEM信息自定义
  6. 纽约佩斯大学孔子学院:中国故事
  7. full join 和full outer join_多表关联:公式展开、join、过滤条件的顺序
  8. IBM并购网络视频会议商WebDialogs 加入Lotus Sametime
  9. 6-7 使用函数输出水仙花数_自学C++基础教程(输入输出2)
  10. 极其良心的设计导航网站
  11. angularjs中的数据绑定
  12. layui 开启关闭标签_layui新手入门所踩的一些坑
  13. win32com excel转pdf
  14. CMSIS RTOS API,内核通用API接口
  15. 1、系统需求分析与可行性分析(System Requirement Analysis and Feasibility Analysis)
  16. 安装西门子博图一直重启_博途V15.1安装及无限重启和.net3.5SP1错误处理解决方法...
  17. 神秘诡异的量子世界是如何毁掉科学家三观的?
  18. 华硕ubuntu安装
  19. docx文件格式转PDF格式
  20. linux进下一级目录下,linux进入下一级目录的命令

热门文章

  1. '固定' table宽度,走起!
  2. 搭建struts2框架
  3. 在VS2003下把一个DataTable Update 到数据库
  4. 滑坡泥石流的防御措施_滑坡泥石流防御
  5. g2 折线图点与点之间直线_科学网—ggplot2实现散点折线图 - 肖斌的博文
  6. chown r mysql ._chown -R 用户名:组名 ./ 及 chown用法介绍
  7. 对着爬虫网页HTML学习Python正则表达式re
  8. gin 生成api文档_gin-swagger 生成RESTful风格OpenAPI文档
  9. diskgenius 接触“只读“失败_相亲总是失败,这三个步骤你都做了吗?
  10. 鸿蒙os下载到电脑上,鸿蒙系统pc版下载2.0