HTTP 协议
什么是 HTTP 协议
HTTP(超文本传输协议),是一种为分布式、合作式、多媒体信息系统服务,面向应用层的协议,是 Internet 上目前使用最广泛的应用层协议,它基于传输层的 TCP 协议进行通信,HTTP 协议是通用的、无状态的协议。
HTTP 协议三大特点
遵循请求/响应模型
客户端向服务器发送请求,而服务器只能被动响应客户端的请求
无连接
当客户端向服务器发送请求时,将建立与服务器的连接;当一次请求/响应结束后,客户端与服务器将自动断开网络连接。当客户端再一次向服务器发送请求时,将重新与服务器建立连接。
无状态
无状态是指协议对于前后两次请求/响应没有记忆能力,而动态 Web 是需要保存不同请求之间的状态的,但 HTTP 协议层面不支持状态保存,所以常用的解决方案就是 Session 会话,以实现状态管理。
HTTP 协议请求
HTTP 协议请求由三部分组成:请求行、请求头、请求正文
HTTP 请求方式
HTTP 请求有四种方式
-
用户在浏览器地址栏中输入 URL 地址并回车向服务器发送请求(GET方式)
-
用户通过网页超链接发送请求(GET方式)
-
用户在网页上提交填写好的表单向服务器发送请求(GET/POST方式)
-
用户在网页上使用 AJAX 技术向服务器发送请求(任意方式)
HTTP 请求 GET和POST 方法区别
HTTP 协议响应
HTTP 协议响应由四部分组成:状态行、响应头、空行、消息体
消息体支持数据类型:
- x-www-form-urlencoded:一种轻型表单,只支持普通文本,优点是占用字节少
- form-data:全名为 multipart/form-data,会把表单内容分成多个部分,每个部分都支持不同的格式,优点是支持文件上传,缺点是占用字节多
- raw:使用的是纯字符串的数据上传方式(一般使用JSON格式字符串)
HTTP 协议状态码
HTTP 状态码表示服务器端处理客户端的 HTTP 请求返回的处理结果状态信息,可以通过状态码判断客户端 HTTP 请求是否得到服务器正确处理
- 404 表示客户端请求服务器未收到或无法处理
- 500 表示服务器处理出现错误或异常