1.HTTP访问服务器原理

客户端输入IP->查找本地hosts缓存->有则直接用获取到的IP访问服务器->服务器响应后返回客户端->客户端页面显示
                                   ->无则访问本地的DNS服务器
                                           ->本地DNS有记录,则返回IP给客户端->->服务器响应后返回客户端->客户端页面显示
                                           ->本地DNS无记录->访问授权DNS(涉及DNS的解析->dig)->返回IP给客户端->->服务器响应后返回客户端->客户端页面显示

2.HTTP协议(超文本传输协议)

1.http最重要的应用服务www服务,涉及最初的目的是发布和接受HTML页面的方法。
  www:万维网,应用http协议
      http:80
      https:443
2.http1.0和http1.1的区别
    查看http:
        curl -I www.baidu.com
       HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力
    http1.0:使得包含http1.0包含图片的web页面和交互式表格称为可能
            http1.0规定浏览器和服务器只是保持短暂连接,每次的请求都需要根服务器做链接,完成后断开连接。
            服务器不跟踪每隔客户也不记录过去的请求。
    http1.1:修复了http的缺陷,从扩展性,缓存处理,带宽优化作了改进,增加了cache缓存,是使用最广泛的
            http1.1支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少连接和关闭的延时
            http1.1增加了响应头,请求头增强了http请求       
3.HTTP请求方法
    在HTTP通信中,每隔HTTP请求都包含一个方法,用以告诉Web服务器端需要执行什么具体的操作,比如提交内容等
    GET :客户端指定资源,服务器端返回指定的资源
    POST:将客户端的数据提交到服务器
    PUT :从客户端向服务器传送的数据替代文档的内容
    DELETE:删除

3.1 http协议(应用层)的工作原理
     超文本传输协议(HTTP:Hypertext Transport Protocol)是万维网应用层的协议。
     它 通过两个程序实现:一个是客户端程序(各种浏览器),另一个是服务器 (常称Web服务器)。
     这两个通常运行在不同的主机上,通过交换报文来完成网页请求和响应。
    一次HTTP操作称为一个事务,其工作过程可分为四步:
     1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。

2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。

3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
     4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。 如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了

4.HTTP的状态码(16个)
    200   ok
    301   重定向,永久跳转
    403   禁止访问,权限问题
    404   页面不存在
    500   服务器错误,不能完成客户请求。例如SELINUX开启
    502   网关错误    -->一般是代理请求后端,后端不响应导致
    503   服务不可用,服务器停机维护等情况
    504   网关超时,后端没有在指定的时间内完成请求,
          服务器过载导致没有在指定的时间内返回数据给代理服务器

5.Http报文(2种)
    请求报文
    响应报文

6.Http协议请求的流程    -->http原理
    1.客户端输入访问地址  www.baidu.com
    2.web浏览器将访问地址解析成服务器的IP地址    -->DNS解析原理
    3.浏览器将默认的端口号(80)从访问的url中解析出来
    4.根据 IP+端口,根服务器创建一条TCP的连接          -->3次握手
    5.建立连接之后,开始给服务器端发送http请求报文
    6.服务器响应并读取信息,开始访问门户网站,集群,solar,访问数据库
    7.返回响应报文给客户端
    8.WEB服务器关闭http连接,关闭tcp连接,WEB浏览器显示信息

7.HTTP访问的重要知识
    1.用户访问网站流程
    2.DNS解析流程细节
    3.建立TCP后发送http报文
    4.http的请求和响应报文细节
    5.WEB服务器请求集群存储的过程

8.HTTP协议的重要小结
    1.HTTP位于OSI的第七层(应用层)
    2.http协议的重要应用www
    3.用户上网流程,DNS解析原理
    4.DNS获取IP后建立TCP后发送http的细节
    5.HTTP的请求报文与响应报文
    6.HTTP服务接受请求后:nginx ->php ->数据库

9.HTTP资源
    1.媒体类型(MIME)  -->多用途英特网邮件扩展
        web服务器响应的时候,会为每一个http对象数据加一个MIME类型,用来区别文件的类型
    2.URL 统一资源定位符
        协议  IP(端口)      具体位置
        http:www.baidu.com/index.html
    3.RUI 统一资源标示符号
        URL是URI的子集
        标示某一互联网资源名称的字符串,这个字符串在全世界范围内唯一  623@qq.com

10.静态网页的特征:
    1.固定的URL地址
    2.每一个网页都是一个独立的文件,都是服务器实实在在保存的实体
    3.内容固定,易被搜索引擎收入
    4.没有数据库支持
    5.没有交互
    6.接受并发访问

11.动态网页
    1.php asp jsp
    2.网页一般是以数据库技术为基础,大大降低了网站的维护
    3.可以实现更多地功能,用户注册,登录
    4.并不是独立存在服务器的,单用户请求时,服务器解析程序并获取数据库返回一个完整的网页内容
     5.伪静态的数据处理,可以适应搜索引擎的抓取
     6.曾需在服务器端解析,会消耗大量的CPU,内存等资源。

12.伪静态的作用
    优点:1.搜索引擎的动态抓取   2.较好的用户体验
    缺点:1.会消耗资源,性能下降

13.生成web架构优化方案说明
    1.考虑将用户请求的数据解析后存成静态文件存放在磁盘或内存,降低动态服务器的压力,节约成本

14.CDN的全称是Content Delivery Network,即内容分发网络。
    其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快

3.网站流量度术语

1.IP
    独立IP指的是不同IP地址的计算机访问网站的被计算的总次数
2.PV-->page view
3.UV(Unique Visitor)  ->独立访客-->接近真实
    同一台客户端访问同一个网站一天之内被计算为一个访客
4.企业网站对PV/IP/UV的度量
    1.分析所有Web服务器的访问日志,对IP地址段进行去重
        awk '{print $1}' h.log|sort|uniq -c|sort -rn
    2.网站的结尾潜入一个js,利用js进行统计,写入数据库
    3.利用第三方的统计谷歌等
5.并发连接
    1.每秒能够接受的最大用户的请求数
    2.每秒能响应的最大用户数量
    3.单位时间内能够处理的的最大的连接数      -->推荐
    100台   -->的并发  IP量 百万  PV 500W-1000W/day
    10       -->5000    PV  20W
6.网站度量的面试题
    你们公司的访问量是多少?怎么计算?
        IP PV 并发量  3个点
        运维日志  JS访问程序   第三方统计/GA等
7.主流WEB服务
    1.apache:  中小型web服务,WEB的老大哥   -->主力2.2
    2.nginx:   大型网站的主流   -->更新速度快  目前1.6.2

1.PHP:动态网页语言PHP程序  ->配合apache解析
    2.TOMCAT:中小企业动态web服务,互联网Java容器
    3.RESIN:世界上最快的WEB服务,java程序的解析器

HTML学习---HTTP基础学习详解的更多相关文章

  1. [深入学习Web安全](5)详解MySQL注射

    [深入学习Web安全](5)详解MySQL注射 0x00 目录 0x00 目录 0x01 MySQL注射的简单介绍 0x02 对于information_schema库的研究 0x03 注射第一步—— ...

  2. [转帖]Docker学习之Dockerfile命令详解

    Docker学习之Dockerfile命令详解 https://it.baiked.com/system/docker/2436.html 图挺好的 前言 之前,制作镜像的伪姿势搭建已经见过了,今天介 ...

  3. Shell学习之Bash变量详解(二)

    Shell学习之Bash变量详解 目录 Bash变量 Bash变量注意点 用户自定义变量 环境变量 位置参数变量 预定义变量 Bash变量 用户自定义变量:在Bash中由用户定义的变量. 环境变量:这 ...

  4. Asp.Net MVC学习总结之过滤器详解(转载)

    来源:http://www.php.cn/csharp-article-359736.html   一.过滤器简介 1.1.理解什么是过滤器 1.过滤器(Filters)就是向请求处理管道中注入额外的 ...

  5. Linux学习之用户配置文件详解(十四)

    Linux学习之用户配置文件详解 目录 用户信息文件/etc/password 影子文件/etc/shadow 组信息文件/etc/group 组密码文件/etc/gshadow 用户信息文件/etc ...

  6. [转载]springmvc学习之@ModelAttribute运用详解

    spring学习之@ModelAttribute运用详解 链接

  7. expect学习笔记及实例详解【转】

    1. expect是基于tcl演变而来的,所以很多语法和tcl类似,基本的语法如下所示:1.1 首行加上/usr/bin/expect1.2 spawn: 后面加上需要执行的shell命令,比如说sp ...

  8. Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)

    [Android布局学习系列]   1.Android 布局学习之——Layout(布局)详解一   2.Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)   3.And ...

  9. Activiti工作流学习之流程图应用详解

    Activiti工作流学习之流程图应用详解 1.目的  了解Activiti工作流是怎样应用流程图的. 2.环境准备2.1.相关软件及版本    jdk版本:Jdk1.7及以上 IDE:eclipse ...

  10. I2C 基础原理详解

    今天来学习下I2C通信~ I2C(Inter-Intergrated Circuit)指的是 IC(Intergrated Circuit)之间的(Inter) 通信方式.如上图所以有很多的周边设备都 ...

随机推荐

  1. ASP.NET Core 的启动和运行机制

    目录 ASP .NET Core 的运行机制 ASP .NET Core 的启动 ASP .NET Core 的管道和中间件 参考 ASP .NET Core 的运行机制 Web Server: AS ...

  2. MySQL---6、可视化工具工具之SQLYog安装配置

    一.安装文件包下载 https://pan.baidu.com/share/link?shareid=4149265923&uk=724365661&fid=2642450782 二. ...

  3. 【设计模式】observer(观察者)-- 对象行为型模式5.7

    1.意图 对象之间一对多的依赖关系,当目标对象发生改变时,所有依赖于它的对象都要得到通知并自动更新 2.别名 依赖,发布-订阅 3.动机 1)需要确保相互协作的对象的一致性(数据要保持一致),但一致性 ...

  4. Redis实现分布式锁1

    Jedis结合setNX方法实现分布式锁 public boolean lock(String key, int exprie) { try { exprie = exprie <= 0 ? 6 ...

  5. csharp: Double Convert To String

    /// <summary> /// /// </summary> /// <param name="fl"></param> /// ...

  6. cf1060C. Maximum Subrectangle(思维 枚举)

    题意 题目链接 Sol 好好读题 => 送分题 不好好读题 => 送命题 开始想了\(30\)min数据结构发现根本不会做,重新读了一遍题发现是个傻逼题... \(C_{i, j} = a ...

  7. Document对象关于窗口的一些属性

    在网上搜罗的,只为自己查用方便,不做他用 window.screen.availWidth 返回当前屏幕宽度(空白空间) window.screen.availHeight 返回当前屏幕高度(空白空间 ...

  8. nodo合并多个mp3文件

    nodo合并多个mp3文件 会使用到node中的fs - 文件系统 import fs from 'fs'; //读取目录下的文件,返回文件名数组[0x2.mp3,f0k.mp3]; const fi ...

  9. CentOS配置multipath

    可以通过2种方式查看HBA的WWN信息: 1. 查看sys文件系统 查看HBA卡型号:[root@localhost ~]# lspci  | grep -i fibre13:00.0 Fibre C ...

  10. MongoDB 排序文档

    sort() 方法 要在 MongoDB 中的文档进行排序,需要使用sort()方法. sort() 方法接受一个文档,其中包含的字段列表连同他们的排序顺序. 要指定排序顺序1和-1. 1用于升序排列 ...