- HyperText Transfer Protocol 超文本传输协议
是互联网上应用最为广泛的一种网络协议,它是由万维网协会(World Wide Web Consortium)制定发布。
- URL---Uniform Resource Locator, 统一资源定位器
是www的统一资源定位标志,简单地说URL就是web地址,俗称“网址”
Tips:URL 只能使用 ASCII 字符集来通过因特网进行发送。 也就是说URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号
HTTP是一种无状态的协议
- HTTP工作过程:
1.地址解析
客户端浏览器请求某页面
从中分解出协议名、主机名、端口、对象路径等部分
2.封装HTTP请求数据包
3.封装成TCP包,建立TCP连接(TCP的三次握手)
4.客户机发送请求命令
5.服务器响应
6、服务器关闭TCP连接
- HTTP协议工作原理
- HTTP报文---用于HTTP协议交互的信息
请求端的HTTP报文叫做请求报文,相应端的HTTP报文叫做响应报文。
HTTP报文是由多行(CR+LF作换行符)数据构成的字符串文本
请求报文及响应报文的结构
请求报文:请求首部字段→通用首部字段→实体首部字段→其他
响应报文:响应首部字段→通用首部字段→实体首部字段→其他
- HTTP请求报文
- HTTP方法
GET:请求访问已被URI识别的资源
POST:传输实体的主体
PUT:传输文件,替换服务器的内容。
HEAD:和GET一样,但不返回报文主体部分,用于确认URI的有效性及资源更新的日期时间等,不会返回实体数据,只会获取报头。
DELETE:删除文件
OPTIONS:针对请求URI指定的资源支持的方法
TRACE:让web服务器端将之前的请求通信环回给客户端
常用的请求为GET与POST,加入以查询为例,可以理解为,GET类型:发起查询请求,POST类型请求:向服务器去提交数据。
- HTTP响应报文
- HTTP协议响应码
- HTTP常见的状态码
- 200 表示从客户端发来的请求在服务端被正常的处理了
- 301 永久性重定向,表示请求的资源已被分配了新的URI,以后应使用资源现在所指定的URI
- 302 临时性重定向,表示请求的资源已被分配了新的URI,本次能够使用新的URI访问
- 304 客户端发送附带条件的请求时,服务器允许请求资源,但未满足条件的情况,且该状态返回时,不包含任何响应的主体部分
- 400 请求报文中存在语法错误,需进行修改请求的内容后再次发送请求
- 401 发送的请求需要有通过HTTP认证的认证信息
- 403 对请求资源的访问被服务器拒绝
- 404 服务器上无法找到请求的资源
- 500 服务器在执行请求时发生了错误,也有可能时web应用存在的bug或某些临时的故障
- 503 表明服务器暂时处于超负载或者正在进行停机维护,无法处理请求
-
HTTP首部字段
HTTP首部字段结构
首部字段名:字段值
单个HTTP首部字段可以有多个值 eg:Keep-live:timeout=15,max=100
HTTP首部字段类型
通用首部字段:请求报文和响应报文都会使用到的首部
请求首部字段:从客户端向服务器端发送请求报文时使用的首部,补充了请求的附加内容、客户端信息、响应内容相关优先 级等信息
响应首部字段:从服务器向客户端返回响应报文时使用的首部,补充了响应的附加内容,也会要求客户端附加额外的内容信息。
实体首部字段:针对请求报文和响应报文的实体部分使用的部首,补充了资源内容更新时间等与实体有关的信息。
通用首部字段
请求首部字段
响应首部字段
实体首部字段