URL和HTTP报文
- URL提供一种统一的资源命名方式
- URL的语法都建立在以下9部分:“://:@:>/;?#”
- 大多数由以下组成:“方案(scheme)://服务器位置(host)/路径(path)”
![a0d99119687eeded8e96e9cc635d8ed6.png](https://img-blog.csdnimg.cn/img_convert/a0d99119687eeded8e96e9cc635d8ed6.png)
- 2.方案
- 方案实际上是规定如何访问指定资源的主要标识符
- 方案逐渐必须以一个字母符号开始,由第一个“:”符号将其于URL其余部分隔开,方案名与大小写无关
- 主机组建标识了因特网上能够访问资源的宿主机器,可以用主机名或者IP地址来表示。
- 端口组件标识了服务器正在监听的网络端口,对下层使用TCP协议的HTTP来说,默认端口是80
- 路径标识了资源位于服务器的位置,很像一个分级的文件系统路径,每个路径段都有自己的参数组件
- 当路径不能够让服务器提供响应的服务,需要借助参数,让服务器更好的提供对应的服务
- 很多资源,可以通过查询来缩小所请求资源类型的范围,和其他组件用?分割开
- 对于有的资源类型,可以做进一步划分,URL支持用片段组建来表示一个资源内部片段,片段位于URL最右边,和前面组件用“#”隔开
2.HTTP的请求报文和响应报文
![af0f2fc6ea9dbe50f4f7e13c9d3f6def.png](https://img-blog.csdnimg.cn/img_convert/af0f2fc6ea9dbe50f4f7e13c9d3f6def.png)
2.1.HTTP的起始行
-
- 请求行:包含一个方法和一个请求URL,和HTTP版本
- 响应行:包含HTTP版本,数字状态码,以及描述操作状态的文本形式的原因短语
- 方法:常见的7中方法如下(并不是所有的服务器都包含了这几种方法,也有的服务器包装了自己的请求方法):
![1aa0909efad176b228b7d0cdd6c93488.png](https://img-blog.csdnimg.cn/img_convert/1aa0909efad176b228b7d0cdd6c93488.png)
-
- 状态吗:200~299表示成功;300~399表示资源已经被移走了,400~499表示客户端请求出错了,500~599表示服务器出错了。状态码分类:
![32bdf8a379d488464ccd616d27a3f30a.png](https://img-blog.csdnimg.cn/img_convert/32bdf8a379d488464ccd616d27a3f30a.png)
-
- 原因短语:原因短语是为状态码提供一个文本解释,和状态码是成对出现的
2.2.HTTP首部
-
- 首部字段向请求和响应报文添加一些辅助信息,是一些键值对列表
- 首部被分为通用首部,请求首部,相应首部,实体首部,扩展首部
![c3834109962f1358816838a5d19c9d17.png](https://img-blog.csdnimg.cn/img_convert/c3834109962f1358816838a5d19c9d17.png)
2.3.HTTP实体的主体部分
-
- 实体主体部分是HTTP报文的负荷,也是HTTP要传输的内容。可以是多种类型的数字数据