4.HTTP与HTTPS概述

一、HTTP

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

1.特点

  • 支持客户/服务器模式

  • 简单快速

    只需输入请求方法(常用的有GET&POST&HEAD)和路径。

  • 灵活

    允许传输任意类型的数据,使用Content-Type加以标记。

  • 无连接

    无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

  • 无状态

    HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

2.报文结构

  • 请求报文头结构
    在这里插入图片描述

  • 响应报文头结构
    在这里插入图片描述

3.请求/响应步骤

  • 客户端连接到服务器

  • 发送HTTP请求

  • 服务器接受请求并返回HTTP响应

  • 释放TCP连接

    若连接模式为keep-alive,则该连接可保持一段时间 ,在该时间内科继续接收请求。

  • 客户端浏览器解析响应内容

4.在浏览器地址栏键入URL,按下回车键经历的流程

  • DNS解析
  • 建立TCP连接
  • 发送HTTP请求
  • 服务器接收请求并响应
  • 浏览器解析渲染页面
  • 释放连接

详见:在浏览器的地址栏中键入URL,敲击回车后经历了什么?

5.响应状态码

​ 点击: HTTP状态码详解

6.GET和POST请求区别

区别点GETPOST
请求信息URL中[key, val]格式报文体中
幂等性符合不符合
可被浏览器缓存?可以不可以
安全(相对而言)较不安全较安全

HTTP传输的安全性得靠应用层数据加密或者HTTPS实现。

7.Cookie和Session的区别

  • Cookie

    在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了。cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用cookie只能存储一些小量的数据。

  • Session:

    session和cookie的作用有点类似,都是为了存储用户相关的信息。不同的是,cookie是存储在本地浏览器,而session存储在服务器。存储在服务器的数据会更加的安全,不容易被窃取。但存储在服务器也有一定的弊端,就是会占用服务器的资源,但现在服务器已经发展至今,存储少量session信息还是绰绰有余的。

  • Cookie和Session的结合

    (1)存储在服务端:通过cookie存储一个session_id,然后具体的数据则是保存在session中。如果用户已经登录,则服务器会在cookie中保存一个session_id,下次再次请求的时候,会把该session_id携带上来,服务器根据session_id在session库中获取用户的session数据。就能知道该用户到底是谁,以及之前保存的一些状态信息。这种专业术语叫做server side session。

    (2)将session数据加密,然后存储在cookie中。这种专业术语叫做client side session。

二、HTTPS

HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议)

1.为什么需要HTTPS

       超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。
       为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
HTTPS和HTTP的区别主要为以下四点:

  • https协议需要到ca申请证书,一般免费证书很少,需要交费。
  • http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
  • http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  • http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

2.HTTPS原理

短视频:

2.SSL单向认证和双向认证

摘自文章:SSL单向认证和双向认证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值