HTTP内容专题

一、常用的htttp请求方法

Get:是一种请求方法,从网页获取资源。向web服务器请求一个文件。在浏览器地址栏中可见(?后面的一部分内容)。响应中有消息头和消息主体。HTTP1.0与HTTP1.1的主要差别是1.1必须使用HOST请求头。

Head:这个方法的功能与GET方法相似,不同之处在于服务器响应中只有消息头,没有消息主体。作用检查一个对象是否存在。服务器返回的消息头应与对应GET请求返回的消息头相同。因此,这种方法可用于检查某一资源在向其提交GET请求前是否存在。速度快,因此许多爬虫工具用来探测页面资源。

Post:向web服务器发送数据,让web服务器进行处理。主要作用是执行操作。在浏览器地址栏中不可见。

Options:主要作用是判断网站有哪些http方法。

Put:向web服务器发送数据,并存储在其内部。上传文件。这个方法试图使用包含在请求主体中的内容,向服务器上传指定的资源(如利用工具DotNetScan)。前提,网站的WebDAV是开启状态,以及具有写入等权限。

Move:上传加改名。(如上传解析漏洞)

二、http包常用包头

请求消息头:

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

Accept:告诉浏览器支持哪些文件类型(如:text/html、application/xhtml+xml、application/xml 和 */*)。并根据权重排序。

Referer参照页。即指出从哪个页面跳转过来的。如,百度统计网站流量即使用该方法。http头信息的一部分。

User-Agent:记录用户(访问者)的相关信息,如系统、浏览器等等。

Cookie :这个消息头用于向服务器提交它以前发布的cookie。

X_FORWARDED_FOR:是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。

Origin:允许跨域请求。这个消息头用在跨域Ajax求中,用于指示提出请求的域。

Authorization:这个消息头用于为一种内置HTTP身份验证向服务器提交证书。

响应消息头:

Access-Control-Allow-Origin这个消息头用于指示可否通过跨域Ajax请求获取资源。

Location:这个消息头用于在重定向响应(那些状态码以3开头的响应)中说明重定向的目标。

三、cookie

1.概念  

        由于http是无状态的协议,一旦客户端和服务器的数据交换完毕,就会断开连接,再次请求,会重新连接,这就说明服务器单从网络连接上是没有办法知道用户身份的。怎么办呢?那就给每次新的用户请求时,给它颁发一个身份证(独一无二)吧,下次访问,必须带上身份证,这样服务器就会知道是谁来访问了,针对不同用户,做出不同的响应,这就是Cookie的原理。其实cookie是一个很小的文本文件,是浏览器储存在用户的机器上的。Cookie是纯文本,没有可执行代码。储存一些服务器需要的信息,每次请求站点,会发送相应的cookie,这些cookie可以用来辨别用户身份信息等作用。

2.两个属性

secure:如果设置这个属性cookie只有在https协议加密情况下才会发送给服务端,http不能发。但是这并不是最安全的,由于其固有的不安全性,敏感信息也是不应该通过cookie传输的

Httponly如果设置这个属性,将无法通过客户端JavaScript直接访问cookie。

四、状态码

1xx—提供信息。

2xx—请求被成功提交。

3xx—客户端被重定向到其他资源。

4xx—请求包含某种错误。

5xx—服务器执行请求时遇到错误。

200:本状态码表示已成功提交请求,且响应主体中包含请求结果。

201:PUT请求的响应返回这个状态码,表示请求已成功提交。

301:本状态码将浏览器永久重定向到另外一个在Location消息头中指定的URL。以后客户端应使用新URL替换原始URL。

302:本状态码将浏览器暂时重定向到另外一个在Location消息头中指定的URL。客户端应在随后的请求中恢复使用原始URL。

400:本状态码表示客户端提交了一个无效的HTTP请求。当以某种无效的方式修改请求时(例如在URL中插人一个空格符),可能会遇到这个状态码。

401:服务器在许可请求前要求HTTP进行身份验证。WWW-Authenticate消息头详细说明所支持的身份验证类型。

403:本状态码指出,不管是否通过身份验证,禁止任何人访问被请求的资源。

404:本状态码表示所请求的资源并不存在。

500:与客户端无关,服务器端错误。本状态码表示服务器在执行请求时遇到错误。当提交无法预料的输入、在应用程序处理过程中造成无法处理的错误时,通常会收到本状态码。应该仔细检查服务器响应的所有内容,了解与错误性质有关的详情。

五、web编码

1.URL编码

任何URL编码的字符都以%为前缀,其后是这个字符的两位十六进制ASCII代码。以下是一些常见的URL编码字符:

%3d代表=;

%25代表%;

%20代表空格:

%0a代表换行;

%00代表空字节。

2.Unicode编码

Unicode是一种为支持全世界所使用的各种编写系统而设计的字符编码标准,它采用各种编码方案。其中一些可用于表示Web应用程序中的不常见字符。16位Unicode编码的工作原理与URL编码类似。为通过HTTP进行传输。16位Unicode编码的字符以,u为前缀,其后是这个字符的十六进制Unicode码点。例如:

%u2215代/

3.Html编码

HTML编码是一种用于表示问题字符以将其安全并入HTML文档的方案。为了安全使用这些字符并将其用在文档内容中,就必须对其进行HTML编码。

特征:带&符号。

"代表”;

&apos:代表’;

&代表&;

&lt;代表<;

&g:;代表>。

4.Base64编码

许多Web应用程序利用Base64编码在cookie与其他参数中传送二进制数据,甚至用它打乱敏感数据以防止即使是细微的修改。

特征:结尾有==。

5.十六进制编码

许多应用程序在传送二进制数据时直接使用十六进制编码,用ASCII字符表示十六进制数据

块。

特性:0x前缀。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RootZY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值