HTTP协议

本文详细介绍了HTTP协议的工作原理,包括其作为超文本传输协议的特点,如简单快速、灵活和无连接等。内容涵盖URI、URL和URN的区别,HTTP请求和响应的格式,以及状态码的分类。此外,还阐述了HTTP事务的基本流程,从用户发起请求到服务器响应的整个过程。
摘要由CSDN通过智能技术生成

什么是http协议?

对服务器 传输超文本 到 本地浏览器 的规范,简称 超文本传输协议。

特点

简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有 GET、POST、HEAD、PUT等等。每种方法规定了客户与服务器联系的类型不同。由于 HTTP 协议简单,使得 HTTP 服务器的程序规模小,因而通信速度很快。

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

无连接: 客户端请求一次 服务端就连接一次,客户端得到响应后 断开。

无状态:在http协议中,客户端的每次请求 对于服务端都是新的请求。

多种模式:支持 B/S 及 C/S 模式。

如何标志网络中的资源

首先了解 一个服务器对应多个端口,每个端口又有对应的多个资源。

URI地址 统一资源标志符 用来唯一的标识一个资源,浏览器上的 图片视频 文字,都是通过URI标志 可以理解为一个绝对路径。

比如这个完整的路径

http//192.168.0.11:3000/1.jpg

包括(协议 IP地址 端口号 资源路径)

URL 统一资源定位符 指在这个服务下的资源的路径,可以理解为一个相对路径。

一般在工作中 为了方便 我们把URI 也会去叫做 URL 。

URN 统一资源命名符,是通过名字来标识资源。

有的时候URI名字太长,就给它命名。

请求和响应

请求

客户端发送一个 HTTP 请求到服务器的请求消息包括以下格式:

 

第 1 行为 请求行,用来说明请求类型 ( GET ),要访问的资源( /index.html?a=1&b=2 )以及所使用的 HTTP版本( HTTP/1.1 )。
从第 2 行开始,也就是紧接着请求行(即第一行)之后的部分,是 请求头,用来说明服务器要使用的附加信
息。
HOST :服务器的域名。
User-Agent :浏览器的浏览器身份标识字符串。
Accept:能够接受的回应内容类型( Content-Types )。参见内容协商。
Accept-Encoding:能够接受的编码方式列表。参考HTTP压缩。
Accept-Language:能够接受的回应内容的自然语言列表。参考 内容协商 。
Cookie:之前由服务器通过 Set- Cookie 发送的一个 超文本传输协议 Cookie。
Connection:该浏览器想要优先使用的连接类型。
第 10 行为空行,实际上有回车符和换行符。
第 11 行为请求体,因为这次请求为 GET,请求的参数保存在请求行的 URL 中。即使是没有数据也必须有空行。

注意:GET 请求类型比较特殊 ,参数在URL里。

响应

一般情况下,服务器接收并处理客户端发过来的请求之后会返回一个 HTTP 的响应消息。它也是由 4 个部分组成:

 

第 1 行为 响应行,HTTP/1.1 是协议版本,状态码为 200,标志请求成功,状态消息为(OK)。
从第 2 行开始,是 响应头
X-Powered-By:表明用于支持当前网页应用程序的技术(例如:PHP)。
Accept-Ranges :这个服务器支持哪些种类的部分内容范围。
Cache-Control:向从服务器直到客户端在内的所有缓存机制告知,它们是否可以缓存这个对象。其单位为
秒。
Last-Modified:所请求的对象的最后修改日期(按照 RFC 7231 中定义的“超文本传输协议日期”格式来表
示)。
ETag:对于某个资源的某个特定版本的一个标识符,通常是一个 消息散列。
Content-Type:当前内容的 MIME类型。
Content-Length:回应消息体的长度,以 字节 (8位为一字节)为单位。
Date:此条消息被发送时的日期和时间(按照 RFC 7231 中定义的“超文本传输协议日期”格式来表示)。
Proxy-Connection:针对该连接所预期的选项。
第 11 行为空行,实际上有回车符和换行符。
第 12 行为响应体。

状态码

1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求

HTTP事务

HTTP 事务用来描述一次完整的从请求到响应的过程

1.到用户发起请求时,首先进行域名解析
2.拿到域名所对应的 IP 地址之后,通过 TCP 协议建立与服务端的通信连接。
( 三次握手,建立连接 )
3.服务接收到用户请求之后,进行业务处理,随后将请求之后的结果返回给浏览器
4.浏览器接收到后台的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值