Web安全基础

Web安全基础之HTTP协议和HTTPS协议

HTTP协议

简介:HTTP是一个应用层的面向对象协议,由于其简捷、快速的特点,非常适合互联网应用。
特点:
(1)HTTP协议足够简单,可概括为“用户发起请求—服务器响应—新请求发起”,每次请求均为独立行为,体现了HTTP无状态的特点。
(2)HTTP协议支持B/S模式,只要有浏览器即可工作,用户使用简单、易于操作。
(3)HTTP协议灵活性好,可用于数据传输、视频播放、交互等。

HTTP请求头的内容

一般使用burpsuite抓取HTTP请求包,HTTP请求主要由请求行、消息报头、请求正文组成。
(1)请求行:一般以一个方法符号开头,以空格分开,后面跟随请求的URI和协议版本。

Method       Request-URI        HTTP-Version               CRLF
(请求方法)   (统一资源标识符)     (请求的HTTP协议版本)         (回车和换行)

请求方法:
GET:请求获取Reqeust-URI所标识的资源
POST:在Reqeust-URI所标识的资源后附加新的数据
HEAD:请求获取由Reqeust-URI所标识的资源的响应消息报头
PUT:请求服务器存储一个资源,并用Reqeust-URI作为其标识
DELETE:请求服务器删除Reqeust-URI所标识的资源
TRACE:请求服务器回送收到的请求信息,主要用于测试或判断
CONNECT:保留,将来使用
OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求
GET和POST使用中的区别:
GET方法:通过在浏览器的地址栏中输入网址访问网页时,浏览器采用GET方法向服务器获取资源
POST方法:要求被请求服务器接收附在请求后面的数据,常用于提交表单。
两者提交参数在HTTP请求包的位置不同。(使用GET方法时,Reqeust body为空;POST方法可利用URL及Reqeust body发送请求)
(2)请求消息报头:请求消息报头用来向服务器端传递客户端自身的信息以及用户的附加信息,可帮助服务器端更好地识别用户的请求,以提供对应的响应内容。
Host(必须存在):Host主要用于指定被请求资源的Internet主机和端口号,即标识请求目标
Connect-Length:标识当前请求包中的内容长度
Origin:用来标识本次请求的发起源(只适用于POST方法)
Referer:用来标识当前请求的发起页面
Accept:Accept用于指定客户端接收哪些类型的信息
Accept-Encoding:告知服务器端当前客户端可接受的内容编码
Accept-Language:告知服务器端支持的语言类型
User-Agent:包含当前用户的操作系统、浏览器的基本信息,用于告知web服务器当前访问者的情况。
(3)请求正文内容:包含HTTP传输的信息。
当请求方法为GET时,请求正文为空,所有内容通过在URL后添加参数传输;
当请求方法为POST时,HTTP请求正文有信息,通常为Web自定义参数,用于实现与服务端交互。

HTTP协议响应头内容

(1)响应行
基本格式

HT TP-Version          Status-Code            Reason-Phrase                            CRLF
(服务器HTTP协议版本)    (服务器发回状态响应码) (状态代码的文本描述)

服务器状态码
第一个数字定义响应类别,有五种可能取值:
1XX:提示信息,说明请求已被成功接收,继续处理
2XX:成功,说明请求已被成功接收、理解、接受
3XX:重定向,要完成请求必须进行更进一步处理
4XX:客户端错误,请求有语法错误或请求无法实现
5XX:服务器端错误,服务器处理请求时,出错
常见状态码及描述:
200:OK,客户端请求成功
301:Permanently Moved,页面重定向
203:Temporarily Moved,页面临时重定向
400:Bad Request,客户端请求有语法错误,不能被服务器所理解
401:Unauthorized,请求未经授权(必须与WWW-Authenticate报头域一起使用)
403:Forbidden,服务器收到请求,但是拒绝提供服务
404:Not Found,请求资源不存在,或者请求无法实现
500:Internal Server Error,服务器发生不可预期的错误
503:Server Unavailable,服务器当前不能处理客户端的请求,一段时间后可能恢复正常
(2)响应消息报头:允许服务器传递不能放在响应行中的附加响应信息,以及关于服务器的信息和对Request-URI所标识的资源进行下一步访问的消息。
常用的响应消息报头有:
Server:Server响应报头域包含服务器用来处理请求的软件信息。(与User-Agent作用相似,将自身版本告知对方)
X-Powered-By:用来标识实现当前web站点所采用的语言及版本号
Set-cookie:根据当前业务流程生成Cookie,并提供给客户端
Content-Length:与请求包中的用法相同,用以标识当前响应包中的内容长度
(3)响应正文内容:相对于请求包中的正文内容,响应包中的内容会携带当前页面的源码。客户端浏览器可根据响应包中的源码显示出完整的页面

URL的基本格式

URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息
HTTP是一个基于请求与响应模式、无状态应用层协议,并基于TCP/IP协议的连接方式
HTTP1.1版本给出一种持续连接的机制,绝大多数的Web开发都是构建在HTTP协议之上的Web应用系统
HTTP中URL的标准格式如下:

scheme         ://        host                    [:port]                           [abs_path] ?  [query-string1] & [query-string2]
(低层使用的协议(HTTP/HTTPS))(HTTP服务器的IP地址或域名) (HTTP默认端口80,HTTPS默认端口为443)(访问资源的路径)(发送给HTTP服务器的数据)

HTTPS协议

基本概念:HTTPS并不是独立的协议,而是工作在SSL协议上的HTTP协议
SSL(安全套接字)协议是一种为网络通信提供安全及数据完整性的安全协议
后续规范协议TLS对原有的SSL进行了扩展
特点:
(1)HTTPS并没有改变HTTP协议本身的特性,只是在传输过程中利用SSL/TLS技术进行加密,保证传输过程中的安全
(2)HTTPS技术可有效保障用户信息不被泄露,避免上网行为设备、代理类设备对用户当前行为的获取,并且可有效避免来自运营商层面的TCP劫持
(3)HTTPS主要防护传输过程中的安全,不会提升服务器的安全性
HTTPS重点解决传输过程中的安全问题,可用来保障客户端的传输数据安全,并不会直接提升Web站点的安全性。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值