zoukankan      html  css  js  c++  java
  • 七.HTTP协议原理介绍

    01. 当用户访问一个网站时,都发生了事情?
    ①. 利用DNS服务,将输入的域名解析为相应的IP地址
       a --本地主机输入域名后,会查询本地缓存信息和本地hosts文件

             如果有就进行解析,如果没有以下
       b --本地主机会向远程LDNS服务器,发送递归查询请求

          如果能解析就返回解析信息
          LDNS是网卡配置的DNS服务(223.5.5.5 114.114.114.114)

          如果没有
       c --LDNS服务器会向根域名服务器发出请求,将请求响应给LDNS服务器

           如果没有
       d --LDNS服务器会向顶级域名服务器发出请求,将请求响应给LDNS服务器
       e  --LDNS服务器会向二级域名服务器发出请求,将请求响应给LDNS服务器
       f  --LDNS服务器收到二级域名服务器响应过来的信息(解析记录),进行本地缓存
          将解析记录发送给本地主机
       g --本地主机收到LDNS服务器的响应信息,也会将解析记录进行缓存,利用IP地址访问网站服务器
    ②. 利用已知的IP地址,进行网络三次握手连接建立
    ③. 本地主机客户端向网站服务端,发出请求 http请求数据包(http请求报文
    ④. 网站服务端向本地主机客户端,回复响应 http响应数据包(http响应报文
    ⑤. 完成网络四次挥手断开过程


    2. HTTP通讯原理说明


    HTTP请求报文
    请求行:
      * 请求方法: 希望客户端完成我的什么样请求
        get 获取服务端的文件内容
        post 存储提交数据到服务端
      * 协议版本:http1.0 http1.1 http2.0
        http1.0: 属于TCP短连接类型协议
        http1.1:属于TCP长连接类型协议

    请求头: 
    空行
    请求主体
      * get方法:没有请求主体内容
      * post方法:会有请求主体内容

    HTTP响应报文
    起始行:
      * 状态码信息
     


    3. HTTP协议资源说明
    1. 媒体资源类型
       web服务可以处理接收的资源类型(text/html css jpg avi)
       一般在web服务软件程序中,会有一个文件来定义媒体资源类型(mime.type)
    2. URL/URI
       URL 统一资源定位符
       URI 统一资源标识符
       www.jd.com  /  error2.aspx
       URL                  URI

    3. 静态文件资源
    静态网页资源有几个重要的特征:
       1) 每个页面都有一个固定的URL地址,且URL一般以.html、.htm、.shtml等常见形式为后缀,
         而且地址中不含有问号“?”或“&”等特殊符号。
       2) 静态网页是实实在在保存在服务器上的文件实体,每个网页都是一个独立的文件。
       3) 网页内容是固定不变的,因此,容易被搜索引擎收录(容易被用户找到)(优点)。
       4) 因为网页没有数据库的支持,所以在网站制作和维护方面的工作量较大,
         当网站信息量很大时,完全依靠静态网页比较困难(缺点)。
       5) 网页的交互性较差,在程序的功能实现方面有较大的限制(缺点)。
       6) 网页程序在用户浏览器端解析,如IE浏览器,程序解析效率很高,
         由于服务器端不进行解析,并且不需要读取数据库,因此服务器端可以接受更多的并发访问。
         当客户端向服务器请求数据时,服务器会直接从磁盘文件系统上返回数据(不做任何解析)。
         待客户端拿到数据后,在浏览器端解析并展现出来(优点)。

    4. 动态文件资源
    1) 网页扩展名后缀常见为:.asp、.aspx、.php、.js、.do、.cgi等。 ※
    2) 网页一般以数据库技术为基础,大大降低了网站维护的工作量。
    3) 采用动态网页技术的网站可以实现更多的功能,
       如用户注册、用户登录、在线调查、投票、用户管理、订单处理、发博文等。
    4) 动态网页并不是独立存在于服务器上的网页文件,当用户请求服务器上的动态程序时,
       服务器解析这些程序并可能通过读取数据库来返回一个完整的网页内容。
    5) 动态网页中的“?”在搜索引擎的收录方面存在一定的问题,
       搜索引擎一般不会从一个网站的数据库中访问全部网页,或者出于技术等方面的考虑,
       搜索蜘蛛一般不会去抓取网址中“?”后面的内容,因此在企业通过搜索引擎进行推广时,
       需要针对采用动态网页的网站做一定的技术处理(伪静态技术),以便适应搜索引擎的抓取要求。

    5. 伪静态文件资源
    根本实质还是动态资源,将动态资源伪装成静态
    动态不便于搜索引擎收录 响应速度较慢

    6. 网站度量值统计方法:
    1. IP(独立IP),即Internet Protocol,这里指独立IP数,
    独立IP数是指不同IP地址的计算机访问网站时被计的总次数

    2. PV(访问量)即Page View,中文翻译为页面浏览,即页面浏览量或点击量,不管客户端是不是相同,
    也不管IP是不是相同,用户只要访问网站页面就会被计算PV

    3. UV(独立访客)即Unique Visitor,同一个客户端(PC或移动端)访问网站被计为一个访客。
    一天(00:00-24:00)内相同的客户端访问同一个网站只计一次UV

    cookie:标识用户主机身份信息

  • 相关阅读:
    django加载静态文件
    计算机网络-划分子网
    接口定义一个Kye.保证其安全性
    GridView中几个显示数据时! 数据停靠(靠左 or 居中)的问题!
    数据库SQL Case...when...then...end的用法!
    利用jQuery发送ajax异步请求
    利用索引进行数据查询优化(转载!)
    身份证的合法验证
    DataTable判断列是否为空!(实用)
    窗体美化,IrisSkin2.dll的使用!
  • 原文地址:https://www.cnblogs.com/cqzhou/p/8964653.html
Copyright © 2011-2022 走看看