HTTP协议

一、HTTP协议简介+

   1.基本概念

      1> 协议:指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则

      2> HTTP协议:超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器

图例

      2.URl和URL的区别

         1>URl:是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源(XML,图片,视频等)

           flie://a:1234/b/c/d.txt 表示该资源在a主机下的1234端口的b目录下的c目录的d.txt文件

    URl的三个组成部分

    1) 访问资源的命名机制

    2) 存放资源的主机名

    3) 资源自身的名称,由路径表示.着重强调与资源


         2>URL:uniform resource locator,统一资源定位器.它是一种具体的URl,即URL可以用来标识一个资源,而且还指明了如何locate这个资源.

            www.baidu.com 

    URl的三个组成部分

    1) 协议

    2) 存有该资源的主机IP地址

    3) 主机资源的具体地址


二、HTTP协议特点

        1) 简单快速

        2) 无连接

        3) 无状态


三、request / response 原理

打开浏览器,在地址栏中输入URL,然后我们就看到了网页.

简单原理: 当输入了地址后,我们的浏览器就向我们的web服务器发送了一个request请求,而我们的web服务器收到这request请求之后会进行相应的处理生成相应的response.然后发送给我们的浏览器,浏览器进行解析response当中的xml文档,这样就可以看到我们的网页.


四、http协议中比较容易混淆的知识点

1.http1.1/http1.0的区别

    1) http1.0产生的背景

         超文本传输协议(HyperText Transfer Protocol)伴随着计算机网络和浏览器的诞生,HTTP1.0也随之而来,处于计算机网络中的应用层.


    2) http1.0所做的优化

         带宽:现阶段已经解决

         延迟:1> 浏览器阻塞:浏览器对于同一个域名,同时只能有四个连接

         延迟 2>DNS查询:浏览器需要知道目标服务器的IP才能建立连接

         延迟 3> 建立连接:三次握手


    3) http1.1 / http1.0的具体区别

            1> 缓存处理

            2> 宽带优化及网络连接的使用

            3> Host头处理

            4> 长连接


    4) http1.1 / http1.0存在的问题

         a http1.0传输数据的时候,每次都需要重新建立连接,无疑增加了大量的延迟时间 [使用http1.1]

         b http1.1传输数据的时候,所有传输的内容都是明文,客户端和服务端都无法验证对方的身份 [使用https]

         c http1.1在使用时,header里携带的内容过大,在一定程度上增加了传输成本.移动端浪费用户的流量

         d http1.1支持了keep-alive,来弥补多次创建连接产生的延迟,但是keep-alive使用多了同样会给服务端带来大量的性能压力 

2.get/post方法的区别

            get:获取资源

            post:提供资源

        a.提交数据

        b.提交数据大小是否有限制

        c.取得变量的值Request.QueryString vs Request.Form

        d.安全问题


3.coolie和sesion的区别

        1) Cookie

                Cookie技术是客户端的解决方法,Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息.

Cookie发送流程

      

工作原理

 2) Sesion

        Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上.客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录.

           工作原理

    创建Session--->服务器会为该Session生成唯一的ID ---> 在Session被创建后,就可以调用Session相关的方法往Session中增加内容--->当客户端再次发送请求的时候,会将这个Session Id带上,服务器请求到数据的时候就会根据Session id 找到相应的Session

区别

    a.存放位置不同

    b.存取方式不同

    c.安全性(隐私策略)不同

    b.有效期上的不同

    e.对服务器造成的压力不同


HTTPS协议

https并不是一个单独的协议,而是对工作在一加密连接(SSL/TLS)上的常规HTTP协议.通过在TCP和HTTP之间加入TLS(Transport Layer Security)来加密.

1.SSL / TLS 协议

 SSL协议,是一种安全传输协议,TLS是SSL v3.0的升级版

协议
HTTPS概念

2.HTTP传输速度

    1) 通信满

    2) SSL必须进行加密处理

3.TLS / SSL 握手

    1) 密码学原理 [保护数据安全措施]

            1> 对称加密

                      · 加密数据用的密钥,跟解密数据用的密钥是一样的

            2> 非对称加密

                      · 私有密钥: 一方保管 公有密钥:双方公有

                            加密的数据使用私钥加密 用公钥解密    

                            加密的数据使用公钥加密 用私钥解密

    2) 数字证书 [ 互联网通讯中标志通讯各方身份信息的一串数字 ] 

            1> 为什么要有数字证书?

                    解决数据的安全问题

           2> 数字证书的颁发过程?

                    首先产生自己的密钥 ---> 讲公共密钥和私有密钥交给认证中心 ---> 认证中心核实身份 ---> 将确认信息发给用户 ---> 随后提供数字证书.

    3) SSL 与 TLS 握手整个过程

          

握手全过程

HTTPS总结

    Https实际就是在TCP层与http层之间加入了 SSL / LTS 来为上层的安全保驾护航,主要用到对称加密、非对称加密、数字证书等技术进行客户端和服务端的数据加密传输,最终达到保证整个通信的安全性.

    


    

你可能感兴趣的:(HTTP协议)