http和https的区别,HTTPS工作原理,状态码,cookie和session对于HTTP有什么用
http和https的区别?
其实HTTPS就是从HTTP加上加密处理(一般是SSL安全通信线路)+认证+完整性保护
区别:
1. http需要拿到ca证书,需要钱的
2. 端口不一样,http是80,https443
3. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
4. http和https使用的是完全不同的连接方式(http的连接很简单,是无状态的;HTTPS 协议是
由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。)
HTTPS工作原理
一、首先HTTP请求服务端生成证书,客户端对证书的有效期、合法性、域名是否与请求的域名一
致、证书的公钥(RSA加密)等进行校验;
二、客户端如果校验通过后,就根据证书的公钥的有效, 生成随机数,随机数使用公钥进行加密
(RSA加密);
三、消息体产生的后,对它的摘要进行MD5(或者SHA1)算法加密,此时就得到了RSA签名;
四、发送给服务端,此时只有服务端(RSA私钥)能解密。
五、解密得到的随机数,再用AES加密,作为密钥(此时的密钥只有客户端和服务端知道)。
一次完整的HTTP请求所经历几个步骤?
HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:
1. 建立TCP连接
怎么建立连接的,看上面的三次捂手
2. Web浏览器向Web服务器发送请求行
一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令。例如:GET /sample/hello.jsp
HTTP/1.1。
3. Web浏览器发送请求头
浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送
了一空白行来通知服务器,它已经结束了该头信息的发送。
4. Web服务器应答
客户机向服务器发出请求后,服务器会客户机回送应答, HTTP/1.1 200 OK ,应答的第一部分是协议
的版本号和应答状态码。
5. Web服务器发送应答头
类别 描述
1xx: 指示信息–表示请求已接收,正在处理
2xx: 成功–表示请求已被成功接收、理解、接受
3xx: 重定向–要完成请求必须进行更进一步的操作
4xx: 客户端错误–请求有语法错误或请求无法实现
5xx: 服务器端错误–服务器未能实现合法的请求
正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及
被请求的文档。
6. Web服务器向浏览器发送数据
Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它
就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据。
7. Web服务器关闭TCP连接
常用HTTP状态码是怎么分类的,有哪些常见的状态码?
HTTP状态码表示客户端HTTP请求的返回结果、标识服务器处理是否正常、表明请求出现的错误
等。
状态码的类别:
常见的状态码:
状态
码
描述
200: 请求被正常处理
204: 请求被受理但没有资源可以返回
206:
客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应
报文中通过Content-Range指定范围的资源。
301: 永久性重定向
302: 临时重定向
303:
与302状态码有相似功能,只是它希望客户端在请求一个URI的时候,能通过GET
方法重定向到另一个URI上
304: 发送附带条件的请求时,条件不满足时返回,与重定向无关
307: 临时重定向,与302类似,只是强制要求使用POST方法
400: 请求报文语法有误,服务器无法识别
401: 请求需要认证
403: 请求的对应资源禁止被访问
404: 服务器无法找到对应资源
500: 服务器内部错误
503: 服务器正忙
请求方式 描述
GET:
用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传
参给服务器
POST:
用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST
方式。
PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。
HEAD:
获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI
是否有 > 效。
PATCH: 客户端向服务器传送的数据取代指定的文档的内容(部分取代)
TRACE: 回显客户端请求服务器的原始请求报文,用于"回环"诊断
DELETE: 删除文件,与PUT方法相反,删除对应URI位置的文件。
OPTIONS: 查询相应URI支持的HTTP方法。
Http协议中有那些请求方式
GET方法与POST方法的区别
区别一: get重点在从服务器上获取资源,post重点在向服务器发送数据;
区别二: Get传输的数据量小,因为受URL长度限制,但效率较高; Post可以传输大量数据,所
以上传文件时只能用Post方式;
区别三: get是不安全的,因为get请求发送数据是在URL上,是可见的,可能会泄露私密信息,
如密码等; post是放在请求头部的,是安全的
http版本的对比
HTTP1.0版本的特性:
早先1.0的HTTP版本,是一种无状态、无连接的应用层协议。
HTTP1.0规定浏览器和服务器保持短暂的连接,浏览器的每次请求都需要与服务器建立一个
TCP连接,服务器处理完成后立即断开TCP连接(无连接),服务器不跟踪每个客户端也不记
录过去的请求(无状态)。
HTTP1.1版本新特性
默认持久连接节省通信量,只要客户端服务端任意一端没有明确提出断开TCP连接,就一直
保持连接,可以发送多次HTTP请求
管线化,客户端可以同时发出多个HTTP请求,而不用一个个等待响应
断点续传原理
HTTP2.0版本的特性
二进制分帧(采用二进制格式的编码将其封装)
首部压缩(设置了专门的首部压缩设计的HPACK算法。)
流量控制(设置了接收某个数据流的多少字节一些流量控制)
多路复用(可以在共享TCP链接的基础上同时发送请求和响应)
请求优先级(可以通过优化这些帧的交错和传输顺序进一步优化性能)
服务器推送(就是服务器可以对一个客户端请求发送多个响应。服务器向客户端推送资 源无
需客户端明确的请求。(重大更新))
什么是对称加密与非对称加密
对称密钥加密是指加密和解密使用同一个密钥的方式,这种方式存在的最大问题就是密钥发送问
题,即如何安全地将密钥发给对方;
而非对称加密是指使用一对非对称密钥,即公钥和私钥,公钥可以随意发布,但私钥只有自己知
道。发送密文的一方使用对方的公钥进行加密处理,对方接收到加密信息后,使用自己的私钥进行
解密。 由于非对称加密的方式不需要发送用来解密的私钥,所以可以保证安全性;但是和对称加
密比起来,非常的慢
cookie和session对于HTTP有什么用?
HTTP协议本身是无法判断用户身份。所以需要cookie或者session
什么是cookie
cookie是由Web服务器保存在用户浏览器上的文件(key-value格式),可以包含用户相关的信
息。客户端向服务器发起请求,就提取浏览器中的用户信息由http发送给服务器
什么是session
session 是浏览器和服务器会话过程中,服务器会分配的一块储存空间给session。
服务器默认为客户浏览器的cookie中设置 sessionid,这个sessionid就和cookie对应,浏览器在向
服务器请求过程中传输的cookie 包含 sessionid ,服务器根据传输cookie 中的 sessionid 获取出
会话中存储的信息,然后确定会话的身份信息。
cookie与session区别
1. cookie数据存放在客户端上,安全性较差,session数据放在服务器上,安全性相对更高
2. 单个cookie保存的数据不能超过4K,session无此限制 信息后,使用自己的私钥进行解密。 由于
非对称加密的方式不需要发送用来解密的私钥,所以可以保证安全性;但是和对称加密比起来,非
常的慢
cookie和session对于HTTP有什么用?
HTTP协议本身是无法判断用户身份。所以需要cookie或者session
什么是cookie
cookie是由Web服务器保存在用户浏览器上的文件(key-value格式),可以包含用户相关的信
息。客户端向服务器发起请求,就提取浏览器中的用户信息由http发送给服务器
什么是session
session 是浏览器和服务器会话过程中,服务器会分配的一块储存空间给session。
服务器默认为客户浏览器的cookie中设置 sessionid,这个sessionid就和cookie对应,浏览器在向
服务器请求过程中传输的cookie 包含 sessionid ,服务器根据传输cookie 中的 sessionid 获取出
会话中存储的信息,然后确定会话的身份信息。
cookie与session区别
1. cookie数据存放在客户端上,安全性较差,session数据放在服务器上,安全性相对更高
2. 单个cookie保存的数据不能超过4K,session无此限制
3. session一定时间内保存在服务器上,当访问增多,占用服务器性能,考虑到服务器性能方面,应
当使用cookie
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2021-05-16 centos 7.6 rpm 安装mysql8.0
2021-05-16 centos 7.6 安装redis5.0,主从模式,哨兵模式,集群模式特点,生产环境用哪个好呢?
2020-05-16 Javascript 学习总结,基本语法,数据类型,集合,类型转换,方法的使用,匿名方法,DOM,BOM,注册事件,动态操作元素,操作样式
2020-05-16 CSS 布局 ,文档流,定位,中划线,表格属性,line-height居中对齐,z-index,display
2012-05-16 跨网段 访问