zoukankan      html  css  js  c++  java
  • 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

      

      

  • 相关阅读:
    Linux几个常用的目录结构
    Linux 安装composer
    Elasticsearch修改network后启动失败
    php7 闭包调用
    php 爬虫框架
    file_get_contents('php://input') 和POST的区别
    PHP指定日期转时间戳
    .Net 站点跨域问题及解决方法
    C# 多线程学习系列一
    Nginx学习系列四默认负载均衡轮询及Ip_hash等常用指令介绍
  • 原文地址:https://www.cnblogs.com/liun1994/p/6399983.html
Copyright © 2011-2022 走看看