美文网首页
Http, Https协议

Http, Https协议

作者: 游成10代 | 来源:发表于2018-04-10 13:40 被阅读89次

    # Http, Https协议

    * 参考资料

      * [HTTP](https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md)

      * [快速理解https实现的原理](https://www.jianshu.com/p/35f78893aa50)

    ### 常见问题

    * Http协议

    >>

    http是在网络协议的应用层, 用户通过http协议访问网站时, 浏览器和服务器之间是明文传输, 这就意味着用户填写的密码, 帐号, 交易记录等机密信息都是明文, 随时可能被泄露, 窃取, 篡改, 被黑客加以利用.

    * HTTPS的原理(https如何加密)

    >>

    SSL(Security Socket Layer)全称是加密套接字协议层 

    SSL安全机制的通信过程如下: 用户与服务器建立连接后, 服务器会把数字证书与公用密钥发送给用户, 用户端生成会话密钥, 并用公共密钥对会话密钥进行加密, 然后传递给服务器, 服务器端用私人密钥进行解密, 这样, 用户端和服务器端就建立了一条安全通道, 只有SSL允许的用户才能与服务器进行通信

    * HTTP 状态码

    >>

    1XX 信息(表明到目前为止都很正常,客户端可以继续发送请求或者忽略这个响应) 

    2XX 成功

    3XX 重定向

    4XX 客户端错误, 403 Forbidden, 404 Not Found 

    5XX 服务器错误

    * 常见的请求头

    >>

    [不需要全记,仅供查阅](https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#%E9%80%9A%E7%94%A8%E9%A6%96%E9%83%A8%E5%AD%97%E6%AE%B5)   

    有 4 种类型的首部字段:通用首部字段、请求首部字段、响应首部字段和实体首部字段 

    * http缓存协议

    >>

    [缓存](https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#%E4%BA%94%E5%85%B7%E4%BD%93%E5%BA%94%E7%94%A8)     

    Cookie是服务器发送给客户端的数据, 该数据会被保存在浏览器中, 并且客户端的下一次请求报文会包含该数据. 通过Cookie可以让服务器知道两个请求是否来自于同一个客户端, 从而实现保持登录状态等功能.   

    Session是服务器用来跟踪用户的一种手段, 每个Session都有一个唯一标识: Session ID. 当服务器创建了一个Session时, 给客户端发送的响应报文包含了Set-Cookie字段, 其中有一个名为sid的键值对, 这个键值对就是Session ID. 

    客户端收到后就把Cookie保存在浏览器中, 并且之后发送的请求报文都包含Session ID. 

    HTTP就是通过Session和Cookie这两种方式一起合作来实现跟踪用户状态的, Session用于服务器端, Cookie用于客户端

    ### todo

    * HTTPS 握手的步骤和过程

    * OKHttp 的源码和原理

    * Retrofit 的源码和原理

    * HTTP 2.0 有没有了解过

    * Volley能否进行数据量很大的请求,比如说加载100M的图片

    * Volley的优缺点

    * Volley源码,优缺点

    * Volley返回数据量比较大的请求时怎么办

    * https是如何保证安全的,证书如何校验

    * Tcp/Udp

    相关文章

      网友评论

          本文标题:Http, Https协议

          本文链接:https://www.haomeiwen.com/subject/diaghftx.html