Web请求过程总结

1、CND架构图

    

    图片来源:深入分析JavaWeb技术内幕(许令波著)

2、发起HTTP请求

  发起一个HTTP请求就是浏览器建立socket通信的过程,HttpClient开源的通过程序实现的处理HTTP请求的工具包。

  Linux中的curl命令可简单的发送HTTP请求;

3、HTTP解析

  HTTP请求头、HTTP响应头、HTTP状态码;(具体用法可查文档)

4、工具

  FireFox:HttpFox、Firebug;Chrome:自带;IE:HttpFox;

5、浏览器缓存机制

  Ctrl+F5:不仅控制可前端不使用缓存,也控制了后端不用缓存数据;在HTTP请求头里面有:Pragma:no-cache、Cache-Control:no-cache;等字段。(具体用法可查文档)。

6、DNS解析

  DNS解析涉及大约10个步骤,从缓存-本机hosts-本地DNS Server......;

  查看DNS服务器;win:Ipconfig,linux:cat /etc/resolv.conf;

  跟踪域名解析: Linux可用dig命令,win及linux可用nslookup。

  清除域名缓存:ipconfig /flushdns、linux下:/etc/init.d/nscd restart。

  Java中通过InetAddress类来解析域名,一定要使用单例模式。

  几种域名解析方式:A记录、MX记录、CNAME记录、NS记录、TXT记录。

7、CDN工作机制

  CDN主要缓存网站中的静态资源;

  负载均衡:链路负载均衡、集群负载均衡、操作系统负载均衡。

    链路负载均衡是由DNS解析完成,动态解析域名。

    集群负载均衡:硬件-需要专门的硬件设备,软件-LVS:在网络层利用IP地址进行转发,HAProxy:根据用户的HTTP请求头来进行负载均衡。

8、参考文献

  HTTP相关用法:https://developer.mozilla.org/en-US/docs/Web/HTTP

  

  

Web请求过程总结的更多相关文章

  1. Http协议简单解析及web请求过程

    HTTP协议: HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统. 基于HTTP协议的客户端/服务器请求响应机制的信息交换过程包含下面几个步骤: 1)    ...

  2. 《深入分析Java Web技术内幕》读书笔记 - 第1章 深入Web请求过程

    第1章 深入Web请求过程 1 1.1 B/S网络架构概述 2 基于统一的应用层协议HTTP来交互数据. 1.2 如何发起一个请求 4 HTTP连接本质是建立Socket连接.请求实现方式:工具包如H ...

  3. 爬取百度页面代码写入到文件+web请求过程解析

    一.爬取百度页面代码写入到文件 代码示例: from urllib.request import urlopen #导入urlopen包 url="http://www.baidu.com& ...

  4. web请求过程-学习使人快乐1

    智齿离开我10个小时了,现在除了书啥都不能啃········呜呜呜~     ~~~~~~~~~~~~~~~~~~~想滑滑梯~~~~~~~~~~~~~~~~~~~ 网络请求过程 web请求大多使用B/ ...

  5. 1 深入Web请求过程

    1.1 B/S网络架构概述 B/S 网络架构从前端到后端都得到了简化,都基于统一的应用层协议HTTP来交互数据,与大多数传统C/S互联网应用程 序采用的长连接的交互模式不同,HTTP采用无状态的短连接 ...

  6. [Web] Web请求过程之一:HTTP

    请求过程: 1.用户在浏览器输入 www.sdjtu.edu.cn 这个URL. 2.浏览器请求 DNS 服务器将这个 URL 解析成对应的 IP 地址. 3.浏览器向 IP 地址对应的这个服务器发起 ...

  7. 深入Web请求过程

    B/S网络架构 带来的好处: 1.客户端使用同一的浏览器. --浏览器的交互特性使其使用起来非常简便 2.服务器基于统一的http.  --简化.规范开发模式,大大节省开发成本.如tomcat ngi ...

  8. WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发)

    概述 发起一个http请求的过程就是建立一个socket通信的过程. 我们可以模仿浏览器发起http请求,譬如用httpclient工具包,curl命令等方式. curl "http://w ...

  9. 【深入分析Java Web技术内幕】1、深入Web请求过程知识点

    如何发起一个请求 发起一盒HTTP请求的过程就是建立一个Socket通信的过程! 既然发起一个HTTP的本质就是建立一个Socket连接,那么我们完全可以模拟浏览器来发起HTTP请求,这很好实现,如H ...

随机推荐

  1. xmlreader与xmlwriter里的几个坑与解决方案

    加载超过100M的xml文件时(可能不是很常见),XmlDocument这种全部加载到内存里的模式就有点不友好了,耗时长.内存高. 这时用xmlreader就会有自行车换超跑的感觉,但其间遇到几个坑, ...

  2. 黑色主题-darkgreentrip

    /* 整个页面 */ home,#main { margin:0px 0px 0px 0px; background:rgb(9, 9, 9, 0.9); } /* 头部高度 */ header { ...

  3. 个人常用Markdow语法代码备用

    1.分隔线 -------------------------------- 2.OC代码 ``` Objective-C ``` 3.字体加粗 ##加粗## 4.标题样式 <h1> &l ...

  4. Java面向对象之内部类(匿名内部类)

    一.基础概念 匿名内部类:简化书写的内部类.其实匿名内部类就是一个子类对象. 前提:内部类需要继承或者实现外部的类或者接口. 格式:new 父类或者接口(){定义子类的内容} 二.将内部类定义到局部的 ...

  5. Configure MongoDB Replica Set

    Table of Contents Introduction Requirements Create Replica Set Add Secondary Members Add an Arbiter ...

  6. 安装opencv-python

    1.安装包下载:在下面的网址下载对应版本及平台的 .whl 包,再手动安装. https://www.lfd.uci.edu/~gohlke/pythonlibs/ 2.将其拷贝到 Python 目录 ...

  7. (STM32F4) Real-time Clock

    老實說Real-time Clok這項功能,我也只有在PC和手機上有見過,其他的應用產品上我也很少見到. 言歸正傳在STM32F4 RTC這項功能在IC內部就有內建,在早期的8051是如果要做RCT是 ...

  8. angularJs表格效果

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...

  9. springMVC上传功能(单文件和多文件上传)

    单文件和多文件上传 首先在xxx-select.xml里面配置上传的大小和编码 <bean id="multipartResolver" class="org.sp ...

  10. Python web前端 01 HTML常用标签

    Python web前端 01 HTML常用标签 一.HTML创建项目 file ---->new project -----> 输入项目名------>创建文件夹 new dicr ...