信息安全基础3

一、Web 通信流程

DNS :域名解析服务

域名后缀:com ,cx, top ,net ,org, cn ,biz
域名长度: 67字节
gov------政府部门

二级域名:
1)二级域名是寄存在主域名之下的域名。
2)二级域名属于一个独立的分支,他有自己的收录、快照、PR值、反链等。
3)当主域名受到惩罚,二级域名也会连带惩罚。

     .com 顶级域名(一级域名)
    sougou.com 二级域名 
    tieba.sougou .com 二级域名

B/S-----------浏览器/服务器
C/S-----------客户端/服务端
二、HTTP协议介绍
1、超文本传输是一种通信协议,是简单的请求-响应协议,它允许将超文本标记语言(HTML)文本从Web服务器传送到客户端的浏览器。
2、HTTP协议是一个应用层面的面向对象的协议,它通常运行在TCP之上。
3、HTTP协议是构建在TCP/IP协议之上的,他是TCP/IP协议的一个子集。
特点
1、只支持客户/服务器模式,也是客户端发起请求,服务端响应请求;
2、简单快捷:
1)客户端向服务端发起请求时,只要求要求方法和路径;
2)常用的请求方法:GET、POST、HEAD等,请求方式决定了客户端与服务器联系方式的不同。由于HTTP协议的简单,使得HTTP服务器的规模小,因而速度很快;
3、灵活:
1)允许传输任意类型的数据类型;
正在传输的类型由Content-Type加以标记。
4、无连接:
无连接即是限制每次处理一个请求。
服务端处理完客户端的请求,并收到应答后断开连接。
可以设置超时,可以以keep-alive来保持连接;
可以节省资源与时间
5、无状态
(通俗的来讲是不用每进行一次的访问,进行一次登录)
无状态是指协议对事物处理的能力是无记忆的。缺少状态时指如果后续要继续使用,要在下次重新传输,这会导致每次链接的数据量增大;服务器不要先前信息时,应答比较快;它利用cookie以及session技术维持简单的连接。
三、HTTP请求方式
1、常见的8种方式
OPTIONS:返回服务器所支持的HTTP请求方法;
HEAD:与get请求一致,但只返回头不信息,响应体不会被返回;
GET:向特定的资源发出请求;
POST:向特定的资源提交数据并进行处理请求,数据被包含在请求体中;(POST是有数据的);
PUT:向特定的资源上传最新的内容;
DELETE请求服务器删除指定资源;
TRACE:会显示服务器收到的请求,主要用于测试或诊断;
CONNECT:开启客户端与请求资源之间的双向通道,可以用来创建隧道或代理。
2、GET与POST区别
1)URL可见性:
GET传参方式是通过地址栏URL传递,是可以直接看到GET传参的参数,GET把请求的数据在URL后通过 ? 连接,通过 & 进行参数分割。(eg:
https://hao.qq.com/?unc=Af31026&s=o400493_1)
POST(安全)传参方式参数URL不可见,并且参数存放在HTTP的包体内;
2) 传输数据大小
GET传递数据是通过URL进行传递,对传递的数据长度是受到URL的大小限制,而POST没有长度限制;(GET长度最大2048字符)
3)后退页面
GET无影响,POST后退后会重新进行提交;
4)缓存
GET可以被缓存,会留在历史记录中;
POST不可以被缓存,历史记录中没有;
5)编码方式
GET请求只用URL编码;
POST支持多种编码方式;
6)字符类型
GET只支持ASCALL字符
POST无字符限制
7)get请求产生的url地址可以被bookmark
post不会
8)get产生一个tcp数据包,浏览器会把http header 和data 一并发送,服务器响应200
post产生两个tcp数据包,浏览器会先发送header,服务器响应100,浏览器会再发送data,服务器响应20

四、URL编码
1、URL结构
http ://www.baidu.com:80/index.php
http-----协议
www.baidu.com----域名
80-------端口(一般被隐藏)【路劲,不写是网站根目录】
index.php-----请求的资源(一般被隐藏)
2、URL编码遵循下列规则: 每对name/value由&;符分开;每对来自表单的name/value由=符分开。如果用户没有输入值给这个name,那么这个name还是出现,只是无值。任何特殊的字符(就是那些不是简单的七位ASCII,如汉字)将以百分符%用十六进制编码,当然也包括象 =,&;,和 % 这些特殊的字符。其实url编码就是一个字符ascii码的十六进制。不过稍微有些变动,需要在前面加上“%”。比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c。

五、HTTP请求响应过程

请求百度的过程
1、首先浏览器向百度服务器请求,浏览器会先检查本地有没有DNS记录,如果没有,DNS 服务器会将百度的域名解析到IP上。
2、三次握手建立连接,向百度服务器请求资源
3、Web服务器会对请求进行判断,如果是合法的并且存在资源,那么此时会返回响应数据
4、四次挥手,TCP断开连接
5、浏览器对返回的内容进行解析。

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
六、常见的请求头

在这里插入图片描述
请求报文头
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
HOST:客户机通过这个头告诉服务器,想访问的主机名;
referer:判定从哪里跳转的
user-agent:返回操作系统,浏览器的版本信息
content-type:报文体中的媒体类型
From:请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不会用到它;
Cookie:客户机通过这个头可以向服务器带数据,这是最重要的请求头信息之一。

session实现方式:
第一种通过cookies实现。
服务端为每一个登陆的客户端在服务端主机上创建一个session(会话)。会话中描述了客户端的各种信息。将session保存在数据库中。然后通过Set-Cookie将sessionid以及重要的信息返回给客户端。客户端就会将其中的信息保存在cookie文件中,下一次请求服务端的时候,会自动从cookie文件中读取出信息,通过Cookie传递给服务器。
第二种通过URL重写来实现。
如何重写URL:通过response.encodeURL()方法。
encodeURL()的作用:
1.转码。
2.encodeURL后面加入sessionID,在禁用cookie的浏览器中同时也可以使用session了。
2.session有期限:
当一个网站的第一个窗口关掉了,而没有继续接着访问第二个页面,就没有使用到session。这个时候session就需要给它保留的时间,默认是30分钟。
3.session里面的名字永远都是String类型。

在这里插入图片描述
常见的请求:
在这里插入图片描述
在这里插入图片描述
301/302/307 重定向
在这里插入图片描述
在这里插入图片描述
七、Cookie 与Session工作原理
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Cookie和session:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上,默认有效期是30分钟。Cookie没有设置expires属性,那么 cookie 的生命周期只是在当前的会话中,关闭浏览器意味着这次会话的结束,此时 cookie 随之失效。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

5、可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。

6.如果浏览器禁用了cookie,session机制不会失效。

7…cookie和session都是用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决HTTP无状态的问题而所做的努力。

【session存放在服务器中,存在时间过长会有危险】

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值