HTML学习---HTTP基础学习详解

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程序的解析器

原文地址:https://www.cnblogs.com/ftl1012/p/http.html