网络安全-Day19-HTTP基础
一、http请求头含义
1、get
1.1、GET一般用于获取/查询资源信息。
1.2、GET方式传递的参数直接表示在地址中,不适合传递大量信息(最多只能有1024字节)。
1.3、get请求数据通过域名后缀url传送,用户可见,不安全。
2、post
2.1、POST一般用于更新资源信息。
2.2、post适合传递大量信息(没有限制),如表单类适合采用post方法。
2.3、post请求数据通过在请求报文正文里传输,相对比较安全。
3、Accept
3.1、Accept:客户端可识别的内容类型列表。
4、Referer
4.1、Referer:告诉服务器我(URL)是从哪个页面链接过来的。(例如:www.baidu.com 或 www.google.com)
5、User-Agent
5.1、产生请求的浏览器类型。
6、host
6.1、请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。
7、cookie
7.1、将cookie的值发送给HTTP 服务器。
8、X_Forwarded_for
8.1、通过X_Forwarded_for 获取到最原始用户IP。(不过经过多少次代理后端都能获取到)
9、Location
9.1、用于重定向一个新的位置, 包含新的URL地址。
二、HTTP常用方法
1、GET:GET方法用来请求URL指定的资源。指定的资源经服务器端解析后返回响应内容(获取资源)
2、POST:POST方法用来传输实体的主体。
3、PUT:PUT方法用来传输文件。就像FTP协议的文件上传一样,要求在请求报文主体中包含文件的内容,然后保存到请求URL指定的位置。
4、HEAD:HEAD方法和GET方法一样,只是不返回报文主体部分。用于确认URL的有效性及资源更新的日期时间等。
5、DELETE:DELETE方法用来删除文件,是PUT的相反方法。DELETE方法按请求URL删除指定的资源。
6、OPTIONS:OPTIONS方法用来查询针对请求URL指定的资源支持的方法。
7、TRACE:TRACE方法是让Web服务器端将之前的请求通信环回给客户端方法。(容易引发XST攻击)
8、CONNECT:CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。(主要使用SSL和TSL协议把通信内容加密后经网络隧道传输)
三、cookie头里面的secure与HttpOnly项分别代表什么含义
1、secure:secure属性可防止信息在传递的过程中被监听捕获后导致信息泄露,如果设置为true,可以限制只有通过https访问时,才会将浏览器保存的cookie传递到服务端,如果通过http访问,不会传递cookie。
2、httpOnly:httpOnly属性可以防止程序获取cookie,如果设置为true,通过js等将无法读取到cookie,能有效的防止XSS攻击。