Web Security | 2 HTTP请求
2018-06-14 本文已影响0人
shawn233
本文是《Web安全深度剖析》的读书笔记
Windows开启Telnet命令的方法(Win10:启用或关闭Windows功能里开启Telnet)
- C/S架构:Client/Server架构(较B/S架构更加传统)
- B/S架构:Browser/Server架构(只需要一个浏览器就可以上网)
HTTP简介
HTTP:超文本传输协议。规定了浏览器和Web服务器之间相互通信的规则,允许将HTML文档从Web服务器传到Web浏览器
URL:同一资源定位符。互联网的标准地址。其标准格式为:
协议://服务器IP[:端口]/路径/[?查询]
发起HTTP请求(介绍了两种方式):
- 浏览器内输入URL后回车
- 在Linux下用curl或Windows用curl.exe发起请求(需额外安装)
特别介绍了curl的请求方式:
-
curl http://www.baidu.com
- 返回HTML -
curl http://www.baidu.com -I
- 返回响应头
协议详解
HTTP请求只能由客户发起,而服务器不能主动向客户发送数据。服务器只能根据客户的请求(Request)作出应答(Response)。
HTTP请求

HTTP响应

HTTP请求方法(常用)
- GET:没有请求正文,响应中有请求正文

- HEAD:没有请求正文,响应中也没有请求正文

- POST:有请求正文,响应中有请求正文

- PUT:请求在服务器中创建资源(通常会在服务器中禁用这个请求)

-
DELETE:请求在服务器中删除资源(通常会在服务器中禁用这个请求)
-
TRACE
-
CONNECT
-
OPTIONS

HTTP状态码
HTTP响应中的第一行中,最重要的就是HTTP的状态码。HTTP协议中的状态码由3位数字组成,第1位定义了响应类型,有一下5种:

常见的状态码如下:

HTTP消息/HTTP头(Header)
四个部分:请求头、响应头、普通头、实体头
- 请求头


- 响应头


- 普通头

- 实体头

HTTPS
HTTPS: Hypertext Transfer Protocol over Secure Socket Layer

【漏洞】前端验证漏洞:网站设计者为了减轻服务器压力,将提交字段的检验放在JavaScript中完成,这就造成了前端验证漏洞。这一漏洞可以通过截取HTTP请求加以利用;截取已通过前端验证的HTTP请求,并修改其中字段,可以传输恶意代码至后端服务器。
防范原则:前端JavaScript验证是为了防止用户输入错误,服务器端验证是为了防止恶意攻击。