前端之http初探

作者: 贵在随心 | 来源:发表于2017-08-24 22:42 被阅读154次

从转行到现在做了一年多的前端开发,中间的过程跌跌转转,总觉得对一些网络的基础知识有所欠缺。这几天看了一些http的相关文章和资料,以下是对这几天的所学做个总结。

当我们打开一个网站,浏览器某个网页,都必须有一个http请求。下面了解一下http的一些基础知识:

定义

HTTP协议(Hyper Text Transfer Protocol),即超文本传输协议的缩写,是从万维网服务器传输超文本到本地浏览器的传送协议,是一个基于TCP/IP通信协议来传递数据。

http请求过程

1、域名解析

2、发起TCP3次握手

3、建立TCP请求发起 http 请求

4、服务器响应http请求,得到 html 代码

5、浏览器解析 html 代码,并请求 html 代码资源

6、浏览器对页面进行渲染,呈现给用户

http 状态码

常见的状态码:

200:请求成功

301:资源被永久的转移到其他URL

404:请求的资源不存在

500:内部服务器错误

状态码分类:

1XX:信息。服务器收到请求,需要请求者继续操作

2XX:成功。操作被成功接收并处理

3XX:重定向。需要进一步的操作以完成请求

4XX:客户端错误。请求包含语法错误或无法完成请求

5XX:服务器错误。服务器在处理请求的时候发生错误

与 http 相对应的 https

什么是 https ?我们用一个简单的公式来理解:

HTTPS = HTTP + TLS/SSL

也就是:在 http 的传输的 过程加了一道 TLS/SSL (传输层加密协议),而这个协议是HTTPS 安全的核心。

https 加密流程

1、客户端将 TLS/SSL 协议的版本号、加密算法的种类,产生的随机数A等信息传给服务器

2、服务器选择其中的一种组合为加密方式,同事将自己的证书、公钥、另外一个随机数一起传给客户端

3、客户端获得服务端返回的信息(包括证书、签名、域名等),验证成功,则生成对称加密秘钥S,用公钥加密后返回给服务器

4、服务器用私钥将这段密钥解密,得到对称密钥S,并用次密钥加密一段握手消息返回客户端

5、客户端收到握手信息,用对称密钥解密,验证成功,则握手成功。

https 加密方式

1、对称加密

加密数据用的密钥(即公钥)和解密数据用的密钥(即私钥)是一样的。

2、非对称加密

公钥和私钥是不一样的,只能保证单项数据的传输

理解加密的关键点:私钥能解开公钥加密的数据,但私钥加密的数据,同样能用公钥解密

https 优缺点

优点:

1、使用 https 协议可以认证用户和服务器,确保数据发送到正确的客户机和服务器

2、https 协议是由 SSL+HTTP 协u议构建的可进行加密传输、身份认证的网络协议,要比http 协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性

3、https 是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本

缺点:

1、在相同的网络环境下,https 协议会使页面的加载时间延长近50%,增加10%到20%的耗电。此外,https 协议还会影响缓存、增加数据开销和功耗

2、https协议的安全是有范围的,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用

3、最关键的,SSL 证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行

4、SSL 的专业证书需要购买,功能越强大的证书费用越改。个人网站、小网站可以选择入门级免费证书

5、SSL 证书通常需要绑定固定IP,为服务器增加固定IP会增加一定费用

6、https 连接服务器端资源占用较高,相同负载下会增加带宽和服务器投入成本

关于http 和 https 先到此,下次继续深入 TCP的三次握手和四次挥手。

相关文章

  • 前端之http初探

    从转行到现在做了一年多的前端开发,中间的过程跌跌转转,总觉得对一些网络的基础知识有所欠缺。这几天看了一些http的...

  • 前端之http

    前端的开发调用接口,经常会用到的就是http相关的知识点。现在我们来详细讲一下关于header的相关内容。 Gen...

  • 前端基础系列之字体初探

    所谓前端,精一行需通十行。在技术和设计的交汇处,追寻前端价值所在。这里是《前端基础系列之字体初探》。 0x00 基...

  • 初探HTTP

    HTTP 简介 Hyper Text Transfer Protocol(超文本传输协议) 是用于从万维网(WWW...

  • 初探HTTP

    本文是网络系列的第一篇文章,作者是通信工程出身,以前接触的计算机通信网方面的知识多是tcp/ip、OSI七层模型、...

  • 前端基础之HTTP

    UDP UDP的协议是面向无连接的,也就是说不需要在正式传递数据之前连接起对方。 UDP协议只是数据报文的搬运工,...

  • 笔记||前端初探之webpack

    今天开始好好摸索前端,从webpack开始吧~ 本篇仅为如何使用,不涉及具体的原理。 参考资料:网上随便搜了些资料...

  • 文以载道 木可赏心 — 川南鸡翅木

    文以载道 木可赏心 ——中国古硬木家具之川南鸡翅木初探 【摘 要】 随着古家具[http://www....

  • HTTP 2 初探

    简书上的文章已经不再维护,有兴趣阅读其他文章,或一起交流的朋友,请移步 我的博客:punmy.cn 原文 HTTP...

  • 前端核心之:HTTP 简述

    前端开发的核心知识,我们一般首先想到的就是HTML、CSS、JS。其实还有一个重要的核心知识就是HTTP,也是面试...

网友评论

    本文标题:前端之http初探

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