当前位置: 首页 > wzjs >正文

ps怎么做网站导航南阳市建网站公

ps怎么做网站导航,南阳市建网站公,php做网站的分站,wordpress 如何修改like和dislike目录 HTTP基本概念 抓取HTTP的请求/响应数据 HTTP请求报文 1.首行 2.请求头(header) 3.空行 4.正文body HTTP响应报文 1.响应首行 2.响应的报头 3.空行 ​编辑 4.正文 HTTP详细情况 GET和POST的区别 HTTPS 对称加密 非对称加密: 中间人攻击&#x…

目录

HTTP基本概念

抓取HTTP的请求/响应数据

HTTP请求报文 

1.首行

 2.请求头(header)

3.空行

4.正文body

HTTP响应报文

1.响应首行

2.响应的报头

3.空行

​编辑 4.正文

HTTP详细情况

GET和POST的区别

HTTPS

对称加密

非对称加密:

中间人攻击:

解决中间人攻击:


HTTP基本概念

HTTP往往是基于TCP协议实现的,HTTP3.0基于UDP实现。HTTP通常在网页与服务器之间的交互,手机APP和服务器之间的交互。HTTP的作用大应用广,但实际开发中大概率使用HTTPS,本质上还是HTTP,引入了额外加密层。想要进一步了解HTTP协议工作过程,理解HTTP协议报文格式,需要用到“抓包工具”。

抓取HTTP的请求/响应数据

打开Fiddler,抓取浏览器的请求/响应内容:

这些结果都是浏览器打开bing网页的时候给bing发送的http/htpps的请求数据,浏览器访问http服务器时不止一个请求,也可能是多个请求。

蓝色的请求是服务器返回的HTML数据

黑色的请求是普通数据 

 ran对应的就是原始请求的数据,HTTP协议是一个文本格式的协议,本质上,一个HTTP数据包就是按照上述HTTP协议的格式。构造出一串文本,写入到socket中。

HTTP请求报文 

1.首行

首行包含三个部分,请求的方法、请求的URL、版本号,通过空格来区分分这3个部分:例如

请求的方法:

GET https://cn.bing.com/notifications/render?

请求的URL:

bnptrigger=%7B%22PartnerId%22%3A%22HomePage%22%2C%22IID%22%3A%22Bnp

%22%2C%22Attributes%22%3A%7B%22RawRequestURL%22%3A%22%2F%3Fmkt%3

Dzh-CN%22%2C%22Referer%22%3A%22https%3A%2F%2Fcn.bing.com%2F%22%7D%

7D&IG=D35A41719F3D460FBA7E99BEFD2930DF&IID=Bnp

版本号:

HTTP/1.1

 2.请求头(header)

header中可以包含若干行数据,本质上是一个键值对结构。

3.空行

最后一个header后面存在一个空行,类似链表使用null结尾。

4.正文body

正文是可选的http的body相当于tcp/ip等协议的载荷一样,内容任意,可以放任何你想传输的数据。 

HTTP响应报文

1.响应首行

例如:HTTP/1.1 200 OK 分别对应:版本号 状态码 状态码描述。响应的首行描述这个响应的成功或者失败,和具体的原因。

2.响应的报头

与请求的报头类似。

3.空行

报头最后有一个空行用于区分。

 4.正文

 正文中内容任意,空行没有特殊意义,只有HTTP数据包中的第一个空行才是header的结束标记。

HTTP详细情况

URL唯一资源定位符(网址)

协议名称:http://

IP地址/域名

端口号 http - 80        https - 443        ssh - 22        ftp - 23

路径(path)描述了服务器上的哪个程序,管理的哪个资源。

查询字符串 query string 浏览器给服务器传递的参数,使用 = 分割键和值

片段标识符 # 表示网页中的某个部分

GET和POST的区别

GET和POST都是HTTP中的请求方式。

GET和POST从本质上讲:没啥差别,GET的应用场景,使用POST也可以,POST的应用场景,使用GET也可以。

从使用习惯的角度来讲:

1.GET从语义上说,通常用来获取数据,POST从语义上来说,通常用来提交数据。

2.服务器对应GET请求的设计是幂等的,POST请求的设计不是幂等的。HTTP官方文档的建议。

同一个人,不同时间进行搜索,结果不一样。不同的人搜索,结果也不一样。

3.GET请求可以被缓存,POST一般不行。

HTTPS

HTTPS本质上就是HTTP基础上增加了一个加密层,即HTTPS = HTTP + SSL(安全相关的协议)。HTTP本身是一个不安全的协议,为了安全传输信息,引入了加密。

对称加密

最简单的就是对称加密:

每个客户端生成自己的密钥,告诉服务器就可以实现对称加密。如果中间有黑客,获取到的数据也是加密的,只要黑客不知道密钥,就无法知道明文是啥。那么如何把密钥传给对方呢?如果采用明文传输,黑客就会获取到密钥,此时就需要给密钥进行加密。

非对称加密:

 通过使用非对称加密的方式,对密钥进行加密。服务器生成公钥和私钥,当客户端连接上服务器后,服务器就会把公钥告诉客户端,接下来客户端生成对称密钥,通过服务器拿到的公钥,针对对称密钥进行加密,再把对称密钥的秘文传输给服务器。服务器用私钥对公钥进行解密,解密成功拿到对称密钥,最后拿到原始数据。

 即使使用对密钥加密传输,黑客还是能获取到原始数据。

中间人攻击:

黑客模仿服务器,自己生成私钥和公钥,向客户端伪造信息,在伪造客户端与服务器进行通信:

此时客户端和服务器都无法发现黑客的存在。

解决中间人攻击:

解决中间让人攻击,最关键的 就是让客户端分辨当前的公钥是不是需要通信服务器的公钥。引入第三方公证机构对公钥进行公证,此时客户端看到了这个公钥被公证了,就可以认为这是合法的公钥,然后使用合法的公钥进行加密通信。

服务器上线自己网站的时候,就会去第三方公证机构申请一个证书,客户端收到证书后,就会对这些证书进行合法性校验:

1.针对证书的字段进行计算校验和,得到校验和1。一个证书会包含类似字段,如:发证机构、证书的 有效期、服务器公钥、证书持有者、持有者网站域名等,拿到这些明文进行校验和的计算。

2.针对数字签名进行解密,得到校验和2。数字签名是用公证机构的公钥进行加密的,解密时使用公证机构的公钥进行解密。这个公钥并不是通过网络的方式获取的,而是操作系统会内置公证机构的公钥。

3.客户端比较校验和1和校验和2。当校验和相等时,就说明整个证书是没有被修改的,证书有效,证书中的公钥也自然可信服务器的公钥。

引入公证机构后,即使黑客解密公证机构的公钥,也无法对数字签名进行修改。如果黑客修改了证书中的公钥,但是不修改校验和,客户端进行校验时校验和不相同,就可以判定证书不合法。如果由于黑客不知道公证机构的私钥,黑客不就能对校验和进行修改。

文章到此结束,感谢观看

http://www.dtcms.com/wzjs/809604.html

相关文章:

  • 高臣网站建设公司公司注册地址变更需要什么资料
  • 登封 网站建设临夏市做网站电话
  • 网站建设服务描述wordpress博客如何安装
  • 网站推广的技能网站建设常用英语
  • htm网站模板医院网站建设要素
  • 重庆做网站建设的公司哪家好台前网站建设
  • 电商网站建设外包wordpress 视频播放插件
  • 网站建设温州科目一网络营销是指
  • 外贸手机网站模板深圳搜索竞价账户托管
  • 做网站选服务器带宽建立网站还是建设网站
  • 建设部网站政策法规vs做网站不显示图片
  • 做外贸纱线用什么网站关于咖啡厅网站建设的论文
  • 咪豆建站微信 公众号 微网站开发
  • 泉州网站公司建站网站建设课
  • 汽车之家 网站建设总部基地网站建设
  • 天津市网站建站制作洮南住建局网站
  • h5做的网站如何连接数据库wordpress文档可以下载吗
  • 互联网大赛建设网站策划书鹿邑网站建设
  • 网站开发的试用期条款网站建设经营服务合同范本
  • 网站首页模板设计图重庆建设造价工程信息网站
  • 网站二级目录做优化公司图标设计logo
  • dw做网站投票广州建设局网站首页
  • 国内空间没备案可以打开网站吗房屋设计软件免费版
  • 装修网站建设网企业网项目建设实践
  • 关于网站建设总结网页设计行业市场分析
  • 媒体网站网页设计网站怎么做动效
  • 婚恋网站制作要多少钱wordpress 前端登陆
  • 网站开发测量像素工具微网站与app的区别
  • 好看的单页面网站模板做网站要通过网信办备案吗
  • 备案后网站可以改名吗制作app的软件有哪些