Web请求过程总结
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请求过程总结的更多相关文章
- Http协议简单解析及web请求过程
HTTP协议: HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统. 基于HTTP协议的客户端/服务器请求响应机制的信息交换过程包含下面几个步骤: 1) ...
- 《深入分析Java Web技术内幕》读书笔记 - 第1章 深入Web请求过程
第1章 深入Web请求过程 1 1.1 B/S网络架构概述 2 基于统一的应用层协议HTTP来交互数据. 1.2 如何发起一个请求 4 HTTP连接本质是建立Socket连接.请求实现方式:工具包如H ...
- 爬取百度页面代码写入到文件+web请求过程解析
一.爬取百度页面代码写入到文件 代码示例: from urllib.request import urlopen #导入urlopen包 url="http://www.baidu.com& ...
- web请求过程-学习使人快乐1
智齿离开我10个小时了,现在除了书啥都不能啃········呜呜呜~ ~~~~~~~~~~~~~~~~~~~想滑滑梯~~~~~~~~~~~~~~~~~~~ 网络请求过程 web请求大多使用B/ ...
- 1 深入Web请求过程
1.1 B/S网络架构概述 B/S 网络架构从前端到后端都得到了简化,都基于统一的应用层协议HTTP来交互数据,与大多数传统C/S互联网应用程 序采用的长连接的交互模式不同,HTTP采用无状态的短连接 ...
- [Web] Web请求过程之一:HTTP
请求过程: 1.用户在浏览器输入 www.sdjtu.edu.cn 这个URL. 2.浏览器请求 DNS 服务器将这个 URL 解析成对应的 IP 地址. 3.浏览器向 IP 地址对应的这个服务器发起 ...
- 深入Web请求过程
B/S网络架构 带来的好处: 1.客户端使用同一的浏览器. --浏览器的交互特性使其使用起来非常简便 2.服务器基于统一的http. --简化.规范开发模式,大大节省开发成本.如tomcat ngi ...
- WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发)
概述 发起一个http请求的过程就是建立一个socket通信的过程. 我们可以模仿浏览器发起http请求,譬如用httpclient工具包,curl命令等方式. curl "http://w ...
- 【深入分析Java Web技术内幕】1、深入Web请求过程知识点
如何发起一个请求 发起一盒HTTP请求的过程就是建立一个Socket通信的过程! 既然发起一个HTTP的本质就是建立一个Socket连接,那么我们完全可以模拟浏览器来发起HTTP请求,这很好实现,如H ...
随机推荐
- 常用SQL性能统计代码
1 BEGIN DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=> 'TELEDB', TABNAME=> 'WFGTEST', PARTNAME=> N ...
- Sharepoint2013搜索学习笔记之搜索构架简单概述(一)
Sharepoint搜索引擎主要由6种组件构成,他们分别是爬网组件,内容处理组件,分析处理组件,索引组件,查询处理组件,搜索管理组件.可以将这6种组件分别部署到Sharepoint场内的多个服务器上, ...
- 【C#】LINQ
一.什么是LINQ 长期以来,开发社区形成以下的格局: 1.面向对象与数据访问两个领域长期分裂,各自为政. 2.编程语言中的数据类型与数据库中的数据类型形成两套不同的体系,例如: C#中字符串用str ...
- pdo + 事务处理 处理线性事务
/* * 事物处理线性操作. * 以转账为例 */ header('Content-type:text/html;charset=utf-8'); $opt = array(PDO::ATTR_PER ...
- web静态资源的访问(笔记)
1.在web-inf外的静态资源访问: 三种方式: 2.访问web-inf内的静态资源: 使用请求转发的方式访问web-inf静态资源(重定向相当于在浏览器输入,无法访问) 参考:https://bl ...
- Agreement has been updated--Edit Phone Number最便捷解决办法(不需要安全提示问题和双重认证)
2018年06月04日亲测有效: CSDN博客跳转网址:
- 查看进程的pid和ppid
用个栗子来说明吧from multiprocessing import Processimport time,os def task(): print('%s is running ,parents ...
- 通用动态树(Link-Cut Tree)模板
一个没有维护任何东西的动态树模板 忘了怎么写可以直接来粘 int ch[300010][2], fa[300010], st[300010]; bool lazy[300010]; bool nroo ...
- [SCOI2007]最大土地面积(旋转卡壳)
首先,最大四边形的四个点一定在凸包上 所以先求凸包 有个结论,若是随机数据,凸包包括的点大约是\(\log_2n\)个 然鹅,此题绝对不会这么轻松,若\(O(n^4)\)枚举,只有50分 所以还是要想 ...
- 删除outlook2007账户
开始-设置-控制面板-邮件-显示配置文件-删除-确定