HTTP协议的详细介绍

目录

一、何为HTTP协议

1.HTTP协议详细信息

2.HTTPS协议:

3.HTTP协议的特点

二、HTTP协议 请求方式

HTTP1. 0定义了三种请求方法:

1.GET

2.POST

3.HEAD

HTTP1. 1 新增了五种请求方法:

1.OPTIONS

2.PUT

3.DELETE

4.TRACE

5.CONNECT 

三、HTTP协议状态码


一、何为HTTP协议

所谓协议,就是指双方遵循的规范。

1.HTTP协议详细信息

  • HTTP协议,就是浏览器和服务器之间进行“沟通"的一种规范。我们在看空间,刷 微博...都是在使用http协议,当然,远远不止这些应用。
  • HTTP协议是基于TCP/IP的应用层协议
  • HTTP协议,即 超文本传输协议(Hypertext transfer protocol) 。是一种详细规定了浏览器和万维网(WWW =World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
  • HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无 状态的协议。

  • HTTP默认的端口号为80, HTTPS的端口号为443

  • 浏览网页是HTTP的主要应用,但是这并不代表HTTP就只能应用于网页的浏览。 HTTP是一种协议, 只要通信的双方都遵守这个协议,HTTP就能有用武之地。比如咱们常用的QQ,迅雷这些软件,都会使用HTTP协议(还包括其他的协议)。

2.HTTPS协议:

        HTTPS协议作为TCP/IP模型中应用层的协议也不例外。HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL 协议层之上,这个时候,就成了我们常说的HTTPS。如下图:http是属于“应用层的协议",而且是基于TCP/IP协议的。

 

3.HTTP协议的特点

• 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,使得 HTTP服务器的程序规模小,因而通信速度很快。

• 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

• HTTP 0.9和1.0使用非持续连接:限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。HTTP 1.1使用持续连接:不必为每个web对象创建一个新的连 接,一个连接可以传送多个对象,采用这种方式可以节省传输时间。

• 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

•支持B/S及C/S模式。

4.HTTP协议的工作流程

  • 首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。
  • 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
  • 服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、 一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
  • 客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

二、HTTP协议 请求方式

根据HTTP标准,HTTP请求可以使用多种请求方法。

HTTP1. 0定义了三种请求方法:

1.GET

  • GET方法的作用在于获取资源。

2.POST

  • POST方法的主要作用是执行操作。

3.HEAD

  • HEAD这个方法的功能与GET方法相似,不同之处在于服务器不会在其响应中返 回消息主体。服务器返回的消息头应与对应GET请求返回的消息头相同。因此, 这种方法可用于检查某一资源在向其提交GET请求前是否存在

HTTP1. 1 新增了五种请求方法:

1.OPTIONS

  • 这种方法要求服务器报告对某一特殊资源有效的HTTP方法。服务器通常返回一个包含 Allow消息头的响应,并在其中列出所有有效的方法。

2.PUT

  • 这个方法试图使用包含在请求主体中的内容,向服务器上传指定的资源。如果激活这个方法,渗透测试员就可以利用它来攻击应用程序。例如,通过上传任意一段脚本并在服务器上执行 该脚本来攻击应用程序。

3.DELETE

  • 请求服务器删除指定的页面。

4.TRACE

  • 这种方法主要用于诊断。服务器应在响应主体中返回其收到的请求消息的具体内容。这种 方法可用于检测客户端与服务器之间是否存在任何操纵请求的代理服务器。

5.CONNECT 

  • HTTP/1. 1协议中预留给能够将连接改为管道方式的代理服务器。

三、HTTP协议状态码

每条HTTP响应消息都必须在第一行中包含一个状态码,说明请求的结果。根据代码的第一位数字,可将状态码分为以下5类。

1xx —提供信息。

2xx —请求被成功提交。

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

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

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

        有大量特殊状态码,其中许多状态码仅用在特殊情况下。下面列出渗透测试员在攻击Web 应用程序时最有可能遇到的状态码及其相关的原因短语。

100 Continue当客户端提交一个包含主体的请求时.将发送这个响应。该响应表示已收到请求消息头.客户端应继续发送主体。请求完成后,再由服务器返回另一个响应。

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

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

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

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

304 Not Modified本状态码指示浏览器使用缓存中保存的所请求资源的副本。服务器使用 If-Modified-Since与工f-None-Match消息头确定客户端是否拥有最新版本的资源。

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

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

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

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

405 Method Not Allowed本状态码表示指定的URL不支持请求中使用的方法。例如,如果试 图在不支持PUT方法的地方使用该方法,就会收到本状态码。

413 Request Entity Too Large 则本状态码表示请求主体过长,服务器无法处理。

414 Request URL Too Longo与前一个响应类似,本状态码表示请求中的URL过长,服务器无法处理。

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

503 Service Unavailableo通常,本状态码表示尽管Web服务器运转正常.并且能够响应请求,但服务器访问的应用程序还是无法作出响应。应该进行核实,是否因为执行了某种行为而造成这个结果。

这是http协议的基本知识,以后我会一直更新网络安全的有关知识,加油

  • 11
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一句话木马

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

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

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

打赏作者

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

抵扣说明:

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

余额充值