一、HTTP协议简介
1.通信?通信协议?
通信:信息的传递和交换。通信的三要素为主体、内容、方式。
通信协议:通信的双方完成通信所必须遵守的规则和约定。
2.HTTP协议?
HTTP协议:超文本传输协议( HyperText transfer protocol),是互联网上应用最为广泛的一种网络协议,所有的www都必须遵守这个标准。
简单来说,在做javaweb开发时,浏览器与服务器要通信,遵守的就是http协议。
http协议是建立在TCP协议基础上的,它是基于请求/响应的模型,默认的端口号是80。
二、HTTP请求
1.请求消息
http请求是由客服端发起的请求。客户端发送到服务器的消息,叫http请求消息,也叫http请求报文。
请求消息是由请求行、请求头部、空行和请求体组成的。
请求行是由请求方式、URL和http协议版本组成,之间用空格隔开。
请求头部:描述客户端的基本信息、把客户端相关信息告知服务器,由对行键值对组成。
空行:通知服务器请求头部至此结束,分隔请求头部与请求体
请求体:提交到服务器的数据。只有POST请求有请求体。
注意:get请求如果有参数,参数会在http请求行的资源路径上,暴露请求参数;而post请求的参数是在请求正文中,所以post请求更安全。
请求头部的常见请求字段如下:
请求头部的字段非常多,这里只给出了常见的字段。
2.请求方式
http最基本的方法有四种:put(增加),dellete(删除),post(修改),get(查询)刚好对应常用的增删改查的4个操作,最常用的还是post和get。
三、HTTP响应
1.响应消息
响应消息:服务器响应给客户端的消息内容,也叫响应报文
响应消息由状态行、响应头部、空行和响应体组成。
状态行:由HTTP协议版本、状态码和状态码的描述文本,使用空格隔开
响应头部:用来描述服务器的基本信息。由多行键/值对组成,键值对之间用:分隔
空行:分隔响应头部与响应体,通知客服端响应头部至此结束。
响应体:服务器响应给客户端的资源内容,也可以在response中查看
2.响应状态码
http状态码由三个十进制数组成,第一个十进制数字定义了状态码的类型。用来标识响应的状态。
一般分为五大类:
分类 | 分类描述 |
---|---|
1** | 信息,服务器收到请求,需要请求者继续执行操作(开发中很少遇到) |
2** | 成功,操作被成功接收并处理 |
3** | 重定向,需要进一步的操作以完成请求 |
4** | 客户端错误,请求包含语法错误或无法完成请求 |
5** | 服务器错误,服务器在处理请求的过程中发生了错误 |
2**成功相关状态码
状态码 | 状态码英文名称 | 描述 |
---|---|---|
200 | OK | 请求成功。一般用于GET和POST请求 |
201 | Created | 已创建。通常用于POST或PUT请求 |
3**重定向相关状态码
4**客户端错误相关状态码
5*服务器错误相关状态码
本篇的主要内容就是这么多啦~主要就是http的相关知识点,我们需要知道客户端与服务器的实现模型,以及请求消息、响应消息的含义。