黑客攻防技术宝典 web实战 笔记 第三章

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36869808/article/details/88026875

笔记

1.HTTP

HyperText Transfer Protocol
HTTP使用一种基于消息的模型
客户端发送一条请求,服务器返回一条相信。
每次请求与相应交换都自动完成。

2.HTTP请求

在这里插入图片描述
每一个HTTP请求的第一行都由3个以空格间隔的项目组成。

  • http方法的动词 一般为get或者post
  • 所请求的url
  • 使用的http版本

其他要点

  • referer 消息头从哪里来
  • user-agent 提供与浏览器或其他生成请求的客户端软件有关的信息。
  • host消息头用于指定出现在被访问的URL中的主机名称。
  • cookie消息头

3.HTTP响应

在这里插入图片描述
每个HTTP响应的第一行由三个以空格间隔的项目组成

  • 使用的HTTP版本
  • 请求状态码
  • 原因短语,进一步说明响应状态

其他要点:

  • server消息头中包含的旗标
  • set-cookie消息头向浏览器发送另一个Cookie,它将在随后向服务器发送的请求中由cookie消息头返回
  • pragma消息头指示浏览器不要响应保存在缓存中。expires消息头支出响应内容已经过期。
  • 消息主体,content-type消息头表示这个消息主题包含一个html
  • Content-Length消息头规定消息主体的字节长度。

4.HTTP方法

  • get
  • post
  • head 服务器不会在其响应中返回消息主体,这种方法可用于检查某一资源在向其提交GET请求前是否存在。
  • trace 这种方法用于诊断,服务器在响应主体中返回其收到的请求消息的具体内容。检测客户端与服务器之间是否存在任何操作请求的代理服务器
  • options 这种方法要求服务器报告对某一特殊资源有效的HTTP方法。服务器通常返回一个包含Allow消息头的响应,并在其中列出所有有效的方法
  • PUT 向服务器上传的资源,可以上传任意一段脚本并且用于攻击。

5.URL

Uniform Resource Locator
URL是标识web资源的唯一标识符

6.REST

表述性状态转移是分布式系统的一种体系架构。请求和响应包含系统资源当前状态的表述。

7.HTTP消息头

7.1 常用消息头

  • Connection 告诉通信的另一端,完成http传输后是关闭tcp连接,啊哈似乎保持连接开放以接受其他消息。
  • Content-Encoding:指定消息主题中的编码形式。
  • Content-Length: 消息主题的长度
  • Content-Type:这个消息头用于规定消息主题的内容类型
  • Transfer-Encoding:这个消息头指定通过HTTP传输使用的是何种编码

7.2 请求消息头

  • Accept 消息头告诉客户端结构那些内容
  • Accept-Encoding。客户端愿意接受哪些内容编码
  • Authorization 内置HTTP身份验证向服务器提交整数
  • Cookie
  • Host
  • if-modified-since 浏览器最后一次收到请求的资源的时间
  • if-none-match 制定一个实体标签。实体标签是一个说明消息主题内容的标识符。
  • origin 消息头用于跨域Ajax请求中,用于指示提出请求的域。
  • Referer 提示支出当前请求的原始URL
  • user-agent 提供与浏览器或生成请求的其他客户端软件有关的信息

7.3 响应头

  • Access-Control-Allow-Origin 指示可否通过跨域Ajax请求获取资源
  • Cache-Control 这个消息头用于向浏览器传送缓存指令
  • ETag 制定一个实体标签
  • Expires 说明消息主题内容的有效时间
  • Location 重定向响应。以3开头的状态码,说明有重定向目标
  • pragma 想浏览器传送缓存指定
  • server 提供所使用的web服务器软件的相关信息。
  • Set-Cookie 向浏览器发布Cookie
  • www-Authenticate 这个消息头在带401状态中,提供与服务器所支持的身份验证
  • X-Frame-Options 指示浏览器框架是否以及如果加载当前响应。

8.Cookie

  • expires 设定cookie的有效时间
  • domain 指定cookie的有效域
  • path 用于指定cookie的有效url路径
  • secure 设置这个属性,仅在HTTPS请求中提交Cookie
  • HttpOnly 无法通过JavaScrpt直接访问Cookie

9.状态码

  • 1xx 提供信息
  • 2xx 请求被成功提交
  • 3xx 客户端被重定向到其他资源
  • 4xx 请求包含某种错误
  • 5xx 服务器执行请求时遇到错误
    具体
  • 100 Continue 客户端提交一个包含主体的请求时,将发送这个响应。
  • 200 ok
  • 201 put请求响应
  • 301 重定向到另一个URL
  • 302 暂时重定向到另一个URL
  • 304 指示浏览器使用缓存中爆粗你的所在请求资源的副本。
  • 400 提交了一个无效的HTTP请求
  • 403 不管是否通过身份验证,禁止任何人访问被请求的资源
  • 404 不存在
  • 405 URL不支持请求中使用的方法
  • 500 服务器在执行请求遇到错误
  • 503 web服务器运转正常,但是未响应

10.HTPPS

http采用的是非加密的tcp进行传输。
HTTPS 使用ssl来进行传送数据。
SSL已经由TLS代替。但是还是用SSL这个名称。

11.HTTP代理

HTTP代理服务器是一个协调客户端浏览器与目标Web服务器之间访问的服务器。

与正常请求的差异

  • 代理服务器将提取主机名称和端口,将这些信息请求指向正确的目标Web服务器
  • 使用HTTPS时,浏览器无法与代理服务器进行SSL握手。此时浏览器作为一个纯粹的TCP级中继。浏览器使用CONNECT方法提交一个请求。

PS:
中继:两个交换中心之间的一条传输路。
CONNECT:https://blog.csdn.net/kobejayandy/article/details/24606521

12.HTTP身份验证

用户身份验证机制

  • basic 在请求消息头中随每条消息以base64编码字符串的形式,发送用户证书
  • NTLM 质询—响应机制。(NTLM NT LAN Manager,NTLM是windwos早起的安全协议)质询——响应,简单的来说,就是你访问一个资源,然后服务器向客户端要一个凭证(账号密码)如果满足就让你访问,我就对你响应,否则就断开。(http://www.cnblogs.com/wufengtinghai/p/3948412.html)
  • Digest 随通用户整数一起使用一个随机值MD5校验和。
    ps:
    在这里插入图片描述

13.Web 功能

13.1 HTTP请求传送参数的方式

  • URL查看字符串 (get)
  • REST风格URL

在这里插入图片描述

  • HTTP Cookie
  • POST

13.2 SOAP

SOAP是基于XML的简易协议,可使用程序在HTTP之上进行信息交换。
SOAP是用于访问网络服务的协议。

14 客户端功能

  • html
  • 超链接
  • 表单
  • css
  • javascript
  • VB
  • 文档对象模型(DOM)
  • Ajax
  • json
  • 同源策略
  • web 2.0
  • 浏览器扩展技术

15 编码方案

15.1 URL编码

URL只允许使用US-ASCII字符集中的可打印字符(0x20~0x7e)
任何URL编码的字符都以%为前缀。

  • %3d 代表=
  • %25 代表%
  • %20 代表空格
  • %0a 代表换行
  • %00 代表空字节
  • +号代表URL编码的空格

15.2 Unicode编码

16Unicode编码以%u为前缀

  • %u2215代表/

15.3 HTML编码

  • &quot 代表 "
  • &apos 代表’
  • &amp 代表&
  • &lt 代表 <
  • &gt 代表 >
    使用它的十进制ASCII码进行HTML编码
    使用十六进制的ASCII码进行编码

15.4 Base64编码

通过进行SMTP进行安全传输。
Base64编码将输入数据转换成3个字节块。

15.5 十六进制编码

将字符转化为16进制

15.6 远程和序列化框架

  • Flex和AMF
  • Silverlight和WCF
  • java序列化对象

猜你喜欢

转载自blog.csdn.net/qq_36869808/article/details/88026875