CTF之web入门--什么叫做HTTP(上)

486 阅读4分钟

各位好,今天我们就正式来看看web里面涉及到的内容,今天的主题就是web里面最基础的也是很重要的HTTP。

当然在此之前,我们还需要知道一些关于HTTP的基础知识。也就是从这些知识里我们正式代入今天所学的内容。

HTTP

首先我们要先了解一下什么是HTTP,下面是在某度上的解释:超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。

简单了解之后我们就可以正式接触这个东西。

image.png

HTTP请求方式

我们接下来要知道的就是HTTP的请求方式,HTTP请求方式定义了HTTP请求时要发送给服务器执行的命令,这就相当于,我们在训练小狗一样,你给什么样的指令(请求),小狗(服务器)就会完成什么样的动作(反应)。 常见的HTTP请求方式主要有以下几种。

1.GET:通常用于直接获取服务器上的资源。
2.POST:一般用于向服务器发送数据,常用于更新资源信息。
3.PATCH:一般用于修改一个数据记录。
4.HEAD:一般用于判断一个资源是否存在。
5.OPTIONS:一般用于获取一个资源自身所具备的约束。

HTTP请求状态码

HTTP每次的访问都会出现一个状态码,有些时候这个状态码会出现,但是有些时候就不会出现我们的视野中,当然这并不代表着状态码的消失。讲到这里,不知道有没有精神小伙儿想到自己兴冲冲点开一个网站,结果发现了啥,403!咳咳,有点跑题了,咱们言归正传。

目前我们主要能碰见的状态码如下。

200 OK:请求成功,即可以正常访问。
204 No Content:通常出现在不回显任何内容的情况、
301 Moved Permanently:永久跳转,比如我们找一个免费网站看动漫,但是一点进那个网站,却强制跳转到一个H网站,并且重复试验都不会发生改变。
302 Found:临时跳转,会跳转到Location头所指向的地址,效果与301类似。
403 Forbidden:没有权限访问此站。(懂得都懂)
404 Not Found:所请求资源不存在。
405 Method not allowed:方法不被允许。
500 Internal Server Error:服务器内部出错。
502 Bad Gateeway:网关在转发内容时出错,通常是转发的下一站---后端不可达或返回了一些奇怪的信息。

HTTP协议的URL

URL就是我们输入的网址,下面就是对一个网址每个部分的解析。

协议 scheme:用于代表这个URL所指向的协议,比较常见的协议有HTTP,HTTPS,FTP等。
用户信息 userinfo:会被编码在Authorization头中发向服务器。
主机名 host:指向网路上的服务器地址,域名,或者IP地址。
端口 port:指向服务器上的端口。每个服务器的端口号都有区别,部分端口号大家还是需要牢记的。
请求路径  path:指向服务器上资源的路径。
请求参数 query:在请求资源时所带的参数,后端可获取到这些参数。
页面锚点 fragment:(这里不做详细解释)

HTTP响应头信息

请求包中什么最丰富,我想那肯定是返回头了。这里我们再来看看两个返回头。

So-Cookie:刺头用于远程服务器向本地设置cookie,cookie是一种凭证,一般用于客户端向远程服务器证明身份。
Location:这个头用于跳转,常常会与301和302两个状态码共用。

到这里。我们HTTP上就结束了,想要学好ctf我们必须要巩固好自身的基础,只有地基打得稳,才能筑起高楼,这里祝愿各位师父毕业之后月薪1w+。

而下一章内容将会主要以练习题的形式来对这一章所学习的内容进行检验。