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协议的基本知识,以后我会一直更新网络安全的有关知识,加油
HTTP协议的详细介绍相关推荐
- http协议编程java_Java与Http协议的详细介绍
搜索热词 Java与Http协议的详细介绍 引言 http(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议,常基于TCP的连接方式.HTTP协议的主要特点是: 1.支持客户/服务器 ...
- IPv6下DHCPv6协议(RFC3315)详细介绍
DHCPv6 详细介绍 前言 一.基础部分 二.DHCPv6的进阶 1.相关术语/概念(Term) 2.几个相关的算法/规则 3.Message交换过程详述 4.基础的几个option介绍(RFC33 ...
- 基于MIT协议的详细介绍
简单介绍MIT协议: 这里的MIT在法律上其实是附条件的许可合同,可以获得许可的前提是:上述版权声明和本许可声明应包含在该软件的所有副本或实质成分中. 你可以使用,复制和修改软件 你可以免费使用软件或 ...
- 数据链路层划分、数据链路层使用的协议及详细介绍
- 数据链路层划分: 局域网的数据链路层分为逻辑链路层LLC和介质访问控制MAC两个子层. 1.逻辑链路控制(Logical Link Control或简称LLC)是局域网中数据链路层的上层部分,IE ...
- 【转】运输层TCP协议详细介绍
[转]运输层TCP协议详细介绍 TCP是TCP/IP协议族中非常复杂的一个协议.它具有以下特点: 1:面向连接的运输层协议.在使用TCP协议之前,首先需要建立TCP连接.传送数据完毕后,必须释放已经建 ...
- HTTP协议详细介绍~超详细
下面是对HTTP的详细介绍,HTTP协议是应用最广泛的网络协议. 希望可以帮助到有需要的小伙伴 文章目录 HTTP是什么 HTTP协议历史与标准 HTTP请求与响应消息 HTTP的基本原理 基于HTT ...
- 飞畅科技V.35协议转换器指示灯告警说明详细介绍
飞畅V.35系列协议转换器实现了E1接口与V.35接口之间的相互转换,是杭州飞畅科技推出的又一款广泛使用.备受好评的设备.此转换器的E1接口支持成帧和透明两种模式,广泛应用于计算机网络互连.DDN数据 ...
- 全网首发!IPFS团队成员详细介绍:硅谷明星团队协议实验室
团队成员详细介绍 IPFS 团 队 是Protocol Labs( 协议实验室),于2014年5月创立.协议实验室可谓精英汇聚,目前核心团队超过76位人才组成,他们来自斯坦福大学.麻省理工.哈佛等世界 ...
- 关于协议转换器的分类以及工作原理的详细介绍
现如今,随着互联网的广泛应用,我们国内的网民也是突破了8.29亿,相信,大家对于网络这块是非常的熟悉了,它是一种虚拟的东西,但是它几乎存在于我们生活的各个角落,在很大程度的让我们的日常生活变得便捷与丰 ...
- 什么是UPNP协议:UPNP协议作用及启用路由器UPNP支持的方法详细介绍
目录 [隐藏] UPNP简介 基本概念 官网解释 以下是微软官方网站对UPnP的解释: 以下是BC官方网站对UPnP的解释: UPnP是用来干什么的? 经典应用 网络地址转换 NAT 穿越技术 实际应 ...
最新文章
- Packet for query is too large (1166 1024). You can change this value
- jQuery实现Ajax
- HTML5语音识别(已被抛弃)
- LibSVM文本分类之结果统计
- iPhone客户端开发笔记(二)
- CCPC-WFinal-女生专场
- python求三位数每一位的和_输入一个三位数的整数,求这个三位数每一位上数字的和是多少。例如,输入: 382,输出:和为 13。 编写 Python 程序实现上述要求...
- 第10课:图片管理模块
- 伯克利校长全员邮件:上课先用 Zoom,还不行就发电报!
- Qt开发 — WindowType详解
- 《机器学习实战》——第3章 决策树
- word如何首页和目录不编辑页码
- QRJDC搭建实现QQ扫码登录对接青龙对接傻妞
- Pj Immediate Decodability
- 在家也能逛家居商场!宜家推出VR购物应用
- 《禅与计算机程序设计艺术》/ By 禅与计算机程序设计艺术GPT-4
- 局域网聊天软件 鸭梨山大
- React文档(十八)最佳性能
- python爬虫:案例一:360指数
- 软件测试面试(名企摸底:阿里,腾讯,360)
热门文章
- 一维搜索进退法c语言程序,基于c语言黄金分割法优化设计.doc
- 常识——手机当作无线网卡,通过usb与电脑共享网络,让电脑网卡支持5g网络
- 局域网助手 LanHelper 简体中文版
- c++避坑指南-除数为0
- 计算机科学类期刊排名,计算机学术期刊排名:Computer Science Journal Ranki
- JAVA 方法知识总结
- HTML5+CSS大作业——“传统节日--端午节(9页)
- 在线epub转txt格式如何转换
- NCIS调查表辅助工具-病案首页数据上传-病案数据统计
- linux进程3种状态,进程的三种状态及转换