Web Security | 2 HTTP请求

本文是《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请求方法(常用)

  1. GET:没有请求正文,响应中有请求正文
  1. HEAD:没有请求正文,响应中也没有请求正文
  1. POST:有请求正文,响应中有请求正文
  1. PUT:请求在服务器中创建资源(通常会在服务器中禁用这个请求)
  1. DELETE:请求在服务器中删除资源(通常会在服务器中禁用这个请求)

  2. TRACE

  3. CONNECT

  4. OPTIONS

HTTP状态码

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

常见的状态码如下:

HTTP消息/HTTP头(Header)

四个部分:请求头、响应头、普通头、实体头

  1. 请求头
  1. 响应头
  1. 普通头
  1. 实体头

HTTPS

HTTPS: Hypertext Transfer Protocol over Secure Socket Layer


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

防范原则:前端JavaScript验证是为了防止用户输入错误,服务器端验证是为了防止恶意攻击。

你可能感兴趣的:(Web Security | 2 HTTP请求)