xiucai132 发表于 2021-10-17 19:06:03

HTTP请求学习笔记

1.HTTP 请求

        每个 HTTP 请求的第一行都由 3 个以空格间隔的项目组成。

所有 HTTP 消息(请求与响应)中都包含一个或几个单行显示的消息头(header),然后是一
个强制空白行,最后是消息主体(可选)。以下是一个典型的 HTTP 请求:
GET /auth/488/YourDetails.ashx?uid=129 HTTP/l.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: https://mdsec.net/auth/488/Home.ashx
Accept-Language: zh-cn,zh;q=0.5
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WDW64;
Trident/4.0; SLCC2;. NET CLR 2.0.50727;. NET CLR 3.5.30729; .NET CLR
3.0.30729; .NET4.OC; InfoPath.3; .NET4.OE; FDM;。 NET CLR 1.1.4322)
Accept-Encoding: gzip, deflate
Host: mdsec.net
Connection: Keep-Alive
Cookie: SessionId=5870C7lF3FD4968935CDB6682E545476

GET:
一个说明 HTTP 方法的动词。最常用的方法为 GET,它的主要作用是从 Web 服务器获取一
个资源。GET 请求并没有消息主体,因此在消息头后的空白行中没有其他数据。所请求的 URL,
通常由所请求的资源名称,以及一个包含客户端向该资源提交的参数的可选查询字符串组成。
在该 URL 中,查询字符串以?字符标识,上面的示例中有一个名为 uid、值为 129 的参数。使用
的 HTTP 版本。因特网上常用的 HTTP 版本为 1.0 和 1.1,多数浏览器默认使用 1.1 版本。这两个
版本的规范之间存在一些差异;然而,当攻击 Web 应用程序时,渗透测试员可能遇到的唯一差异
是 1.1 版本必须使用 Host 请求头

Accept:
浏览器支持的 MIME 类型分别是 text/html、application/xhtml+xml、application/xml 和
*/*,优先顺序是它们从左到右的排列顺序(表示我当前的浏览器希望接受什么类型的文件,这是请
求首部,当服务器没有客户端想要的资源的媒体类型时,会返回 406 Not Acceptable 响应。当然
使用了 */* 表示愿意接受任意类型的资源,所以应不会看到这个响应。另外,这里的 q 表示权重,
权重在 0-1 之间,可以理解成客户端在这些给出的类型中,想优先接受什么类型,可以服务器就可
以根据客户端的需要返回相应的资源。
如果没有,则默认为 1 。这里前面几个类型都没有标明,则默认都是 1 ,表示优先这些类型,
后面的 0.9 表示前面都没有就用这个,最后的 0.8 表示如果都没有,那么任意的类型都行)
                                                详解
                                Accept 表示浏览器支持的 MIME 类型;
        MIME 的英文全称是 Multipurpose Internet Mail Extensions(多功能 Internet 邮件扩充服
        务),它是一种多用途网际邮件扩充协议,在 1992 年最早应用于电子邮件系统,但后来也应用到浏览器。
        text/html,application/xhtml+xml,application/xml 都是 MIME 类型,也可以称为媒体类型
        和内容类型,斜杠前面的是 type(类型),斜杠后面的是 subtype(子类型);type 指定大的范围,
        subtype 是 type 中范围更明确的类型,即大类中的小类。
        Text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的;
        text/html 表示 html 文档;
        Application:用于传输应用程序数据或者二进制数据;
        application/xhtml+xml 表示 xhtml 文档;
        application/xml 表示 xml 文档

Referer
消息头用于表示发出请求的原始 URL(例如,因为用户单击页面上的一个链接)。请注意,
在最初的 HTTP 规范中,这个消息头存在拼写错误,并且这个错误一直保留了下来。


Accept-Language
浏览器支持的语言分别是中文和简体中文,优先支持简体中文。

                详解:
Accept-Language 表示浏览器所支持的语言类型;
zh-cn 表示简体中文;zh 表示中文;
q 是权重系数,范围 0 =< q <= 1,q 值越大,请求越倾向于获得其“;”之前的类型表示的内
容,若没有指定 q 值,则默认为 1,若被赋值为 0,则用于提醒服务器哪些是浏览器不接受的内容
类型。


User-Agent
消息头提供与浏览器或其他生成请求的客户端软件有关的信息。请注意,由于历史
原因,大多数浏览器中都包含 Mozilla 前缀。这是因为最初占支配地位的 Netscape 浏览器使用
了 User-Agent 字符串,而其他浏览器也希望让 Web 站点相信它们与这种标准兼容。与计算领域
历史上的许多怪异现象一样,这种现象变得很普遍,即使当前版本的 Internet Explorer 也保
留了这一做法,示例的请求即由 Internet Explorer 提出。

Host
消息头用于指定出现在被访问的完整 URL 中的主机名称。如果几个 Web 站点以相同的一台
服务器为主机.就需要使用 Host 消息头.因为请求第一行中的 URL 内通常并不包含主机名称。

Accept-Encoding
浏览器支持的压缩编码是 gzip 和 deflate

Cookie
消息头用于提交服务器向客户端发布的其他参数

Connection
表示持久的客户端与服务连接。

Upgrade-Insecure-Requests:
1 该指令用于让浏览器自动升级请求从 http 到 https,用于大量
包含http资源的http网页直接升级到https而不会报错.简洁的来讲,就相当于在http和https
之间起的一个过渡作用

X_FORWARDED_FOR
是用来识别通过 HTTP 代理或负载均衡方式连接到 Web 服务器的客户端
最原始的 IP 地址的 HTTP 请求头字段。
页: [1]
查看完整版本: HTTP请求学习笔记