HTTP协议基础

本文主要分为以下几个模块:

  1. Http简介及工作流程
  2. Http消息结构
  3. Http请求方法和常见状态信息

一、Http简介及工作流程

Http是计算机网络中应用层的一个协议,是基于Tcp/Ip协议之上的。咱们不说得那么官方,协议 说白了就是规范了一种数据传递的标准;试想,如果没有协议的规范,那么我们传递和接受数据时,岂不是五花八门,各有各的说法了。

Http工作流程如图:
在这里插入图片描述

二、Http消息结构

Request消息结构

前面说了,协议就是一种规范。那么http协议是怎样规范传递的数据呢?所以我们有必要研究以下Http的消息结构。
其实Http的消息只有两种,一种是Request请求消息,一种是Response接收消息。前者是客户端给服务端发送的,用于请求相应资源;后者是服务端给客户端发送的,用于响应客户端的请求。

Request消息结构如图:
在这里插入图片描述
以上图我们可以简单理解为:

<Request Line>	//请求行
<Request Head>	//请求头部
<Request Body>	//请求体

通常,请求行中会携带一些简单的信息,如Http协议版本、请求方式GET或POST等。请求头中会有一些重要信息,比如:

Host:你所请求的主机
Refer:客户端主机Ip
Accept-Language: 客户端能接受的语言
User-Agent: 客户端的一些信息
......

请求体中往往会是客户端请求提交的一些参数(POST请求方式下),以及其他的一些请求数据。

Request头部了解这么多应该就可以了。

Response消息结构

Response消息结构如图所示,抓包过程中所观察到的Response消息内容:
在这里插入图片描述
第一行是Response的消息行,可以说是最重要的部分了。
它指明了所使用的HTTP协议类型(Http/1.1),也指明了响应信息,此处 状态码 是200,就是说请求成功,一切正常,除此之外还有常见的404, 500等错误都是出自于这里的状态码。

响应报头大概看看就行了,Content-Length指明了响应报的长度,在抓包暴破过程中是有些用的,Content-Type指明了Response-Body中返回的文档类型,这里我们可以看到,后面的文档显然是html类型的。

Response-Body称为响应体,生活中,我们请求的大多数都是html页面,所以一般来讲,Response-body中都会包含一个几百上千行的html代码。由此可见,Response消息的大小应该是远远大于Resquest消息的。

三、Http请求方法和常见状态信息

前面我们在介绍消息结构的时候简要带了一下请求方法和状态信息,这里还需要详细讲讲,因为这两个部分太重要了。

Request请求方法我们只需要知道两个,GET和POST。这两个请求方法在JavaEE开发中见了很多次。
GET方法:
其特点是客户端的参数会设置到请求行(Request Line)中,所以url上会显示出用户的请求参数;这样的传参非常简单,而且所耗资源少,但保密性不强,不够安全。

POST方法:
其特点是,客户端的参数会设置到Request-body请求体中去,这样的话就更加安全了。

Response常见状态信息

2** 往往就是操作成功,典型代表就是200
4** 往往就是客户端的错误,典型代表404。共同特点都是客户端操作失误,跟服务器的代码逻辑无关。
5** 往往就是服务器端的错误,典型代表是500。往往是服务器出现了bug,导致崩溃,是服务器的错误。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTTP(HyperText Transfer Protocol)是一种用于在网络中传输超文本的协议。它是客户端和服务器之间进行通信的规则集。下面是一些HTTP协议基础知识: 1. HTTP通信是无状态的:HTTP协议本身不保留任何关于先前请求或响应的信息。每个HTTP请求都是独立的,服务器不会记住之前的请求。 2. 请求方法:HTTP定义了不同的请求方法,常用的有GET、POST、PUT、DELETE等。GET用于获取资源,POST用于提交数据,PUT用于更新资源,DELETE用于删除资源。 3. URL:统一资源定位符(URL)是用于标识和定位资源的地址。它由协议类型(如http://)、主机名、可选的端口号、路径和查询参数组成。 4. 请求头:HTTP请求包含一些元数据,称为请求头。请求头包含了一些关于请求的附加信息,如User-Agent、Accept-Language等。 5. 响应状态码:HTTP响应包含一个状态码,用于表示请求的处理结果。常见的状态码包括200(成功)、404(未找到)和500(服务器内部错误)等。 6. 响应头:HTTP响应也包含一些元数据,称为响应头。响应头包含了一些关于响应的附加信息,如Content-Type、Content-Length等。 7. 实体:HTTP请求和响应中的有效载荷称为实体。通常,在请求中,实体是要发送给服务器的数据;在响应中,实体是服务器返回的数据。 这些是HTTP协议的一些基础知识,希望对你有帮助!如有更多问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值