http协议基础笔记(请求报文及响应报文的组成)

HTTP是超文本传输协议,定义了浏览器和服务器间通信的规则。请求报文包括请求行(请求方法如GET,POST)、请求头和请求体;响应报文包含响应行(状态码如200,400)、响应头和响应体。状态码指示请求是否成功,如200表示成功,400表示请求错误。请求参数可以通过URL或报文体传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

HTTP(hypertext transport protocol)协议;中文叫 超文本传输协议

是一种基于TCP/IP的应用层通信协议

这个协议详细规定了 浏览器 和 万维网 服务器 之间互相通信的规则

协议中主要规定了两个方面的内容:

  • 客户端:用来向服务器发送数据,可以被称之为 请求报文

  • 服务端:向客户端返回数据,可以被称之为 响应报文

报文:可以简单理解为就是一堆字符串

1请求报文的组成

  • 请求行
  • 请求头
  • 请求体

 

 

其中,1、2、3是请求行,分别是请求方法,资源名称,HTTP版本号,4是请求头,5是请求体

细说:

①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。不过,当前的大多数浏览器只支持GET和POST,Spring 3.0(java框架)提供了一个HiddenHttpMethodFilter,允许你通过“_method”的表单参数指定这些特殊的HTTP方法(实际上还是通过POST提交表单)。服务端配置了HiddenHttpMethodFilter后,Spring会根据_method参数指定的值模拟出相应的HTTP方法,这样,就可以使用这些HTTP方法对处理方法进行映射了。 

②为请求对应的URL地址,它和报文头的Host属性组成完整的请求URL,③是协议名称及版本号。 

④是HTTP的报文头,报文头包含若干个属性,格式为“属性名:属性值”,服务端据此获取客户端的信息。 
 

⑤是报文体,它将一个页面表单中的组件值通过param1=value1&param2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数据。不但报文体可以传递请求参数,请求URL也可以通过类似于“/chapter15/user.html? param1=value1&param2=value2”的方式传递请求参数,如果是GET方法则没有请求体。 

2响应报文的组成

响应状态

响应信息的第一行就是响应状态,内容依次是当前HTTP版本号,三位数字组成的状态代码,以及描述状态的短语,彼此由空格分隔。状态代码的第一个数字代表当前响应的类型,xx表示两位数字。

a、 1xx消息:请求已被服务器接收,继续处理

b、 2xx成功:请求已成功被服务器接收、理解、并接受

c、 3xx重定向:需要后续操作才能完成这一请求

d、 4xx请求错误:请求含有词法错误或者无法被执行

e、 5xx服务器错误:服务器在处理某个正确请求时发生错误

  • ②响应头

    • 包含响应数据的类型、长度、编码格式等,同时还有各种神奇的头像,比如“server”等。
    • Cache-Control: 缓存控制 private 私有的,只允许客户端缓存数据
    • Connection: 链接设置
    • Content-Type:text/html;charset=utf-8: 设置响应体的数据类型以及字符集,响应体为html,字符集utf-8
    • Content-Length: 响应体的长度,单位为字节
  • ③响应体

    响应体是服务器返回给客户端的具体内容,比如网页HTML代码、图片文件等。

  • 响应体内容的类型是非常灵活的,常见的类型有 HTML、CSS、JS、图片、JSON

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值