暑期实习备战(HTTP以及HTTPS)

HTTP

简介

HTTP(Hyper Text Transfer Protocol)协议,超文本传输协议

  • 基于TCP/IP通讯协议来传递数据(HTML文件、图片文件、查询结果)。
  • 是一个属于应用层面向对象的协议。
  • 工作于C/S客户端-服务端架构上,浏览器作为HTTP客户端通过URL向WEB服务器发送请求,接收后向客户端发送响应信息。

HTTP中的超文本到底是什么

Hypertext is text displayed on a computer display or other electronic devices with references (hyperlinks) to other text that the reader can immediately access.

简单来说HTTP中的超文本(HyperText)也是HTML和XHTML中的超文本,这个超文本是显示在计算机以及其他电子设备上的文本,其具有对读者可以立即访问的其他文本的引用(超链接)。

HTTP的特点

  1. 简单快速:请求服务时,只需要传送请求方法和路径。常用方法有(GET、POST),由于简单使得HTTP服务器的程序规模小,通信速度快。
  2. 灵活:可以传输任意类型数据对象。
  3. 无状态:HTTP是无状态协议,即协议对于事物处理没有记忆能力,如果要处理后续需要前面的信息,需要重传。
  4. 无连接:限制每次连接只处理一个请求,处理完客户的请求并接收到客户的应答后,断开连接,节省传输时间。

HTTP的状态码

1xx 信息

  • 100 Continue 表示可以继续发送请求

2xx 成功

  • 200 OK 表示接受成功

3xx 重定向

  • 300 永久重定向
  • 302 临时重定向 浏览器可能会将POST改成GET
  • 307 临时重定向 不会修改POST成GET

4xx 客户端错误

  • 400 请求中有语法错误
  • 401 发送的请求需要有认证信息(BASIC 认证、DIGEST 认证)。如果之前已进行过一次请求,则表示用户认证失败。
  • 403 请求被拒
  • 404 NO FOUND

5xx 服务器错误

  • 500 服务器正在执行请求时发生错误。
  • 503 服务器正在停机维护中

HPPT中的长短连接

短连接由于每次建立TCP连接要消耗大量资源 所以就有了长连接只用建立一次TCP连接就能进行多次HTTP通信。

  • 在 HTTP/1.1 之前默认是短连接的。
  • 从 HTTP/1.1 开始默认是长连接的,如果要断开连接,需要由客户端或者服务器端提出断开。

Cookie以及Session

Cookie

Cookie是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器之后向同一服务器再次发起请求时被携带上,用于告知服务端两个请求是否来自同一浏览器。由于之后每次请求都会需要携带 Cookie 数据,因此会带来额外的性能开销(尤其是在移动环境下)。

Session

除了可以将用户信息通过 Cookie 存储在用户浏览器中,也可以利用 Session 存储在服务器端,存储在服务器端的信息更加安全。Session 可以存储在服务器上的文件、数据库或者内存中。也可以将 Session 存储在 Redis 这种内存型数据库中,效率会更高。

比较

  • Cookie 只能存储 ASCII 码字符串,而 Session 则可以存取任何类型的数据,因此在考虑数据复杂性时首选 Session;
  • Cookie 存储在浏览器中,容易被恶意查看。如果非要将一些隐私数据存在 Cookie 中,可以将 Cookie 值进行加密,然后在服务器进行解密;
  • 对于大型网站,如果用户所有的信息都存储在 Session 中,那么开销是非常大的,因此不建议将所有的用户信息都存储到 Session 中。

HTTP2.0

HTTP1.x

HTTP1.x实现是简单的,但是相对而言牺牲的就是他的性能,客户端需要使用多个连接才能实现并发和缩短延迟,不会压缩请求和响应首部,从而导致不必要的网络流量,TCP连接利用率低。
HTTP2.0 改进了头部,避免重复传输,同时也使用Huffman编码对头部进行压缩。

HPPTS

简介

是一种通过计算机网络进行安全通行的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信通道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私和完整性。

相较于HTTP

  • HTTP是明文通信,很不安全。HTTPS经过SSL/TLS加密之后信息保密度高。
  • 由于要进行加密解密环节,HTTPS的加载速度会相较慢于HTTP。

HTTPS加密过程

HTTPHTTPS这个S指的就是按照SSL/TLS协议进行加密。在SSL/TLS中主要实现的就是加密过程。在加密过程中用到了对称加密非对称加密两种加密方式,对称加密比较简单,就是大家约定一个密码进行加密,然后用同一个密码进行解密,逻辑简单。而非对称加密就是一开始会生成一对秘钥,也就是两个密码,就是这个加密解密过程中要用两个秘钥来完成,如果用第一把钥匙加密,就只能用第二把钥匙解密
在采用了非对称加密算法生成两个秘钥之后,网站需要公布出去其中的一把钥匙,而我们把这把钥匙称为公钥,自己留着的那把叫私钥,然后向全世界广播我们的网站的公钥是什么,大家就可以通过这个公钥对纯属的数据进行加密,然后我们网站内部会有一个私钥,可以通过私钥解密公钥加密的数据。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值