一、 HTPP协议
 
1、概念
HTTP(hypertext transport protocol)协议;中文叫超文本传输协议
 是一种基于TCP/IP的应用层通信协议
 这个协议详细规定了 浏览器 和万维网 服务器 之间互相通信的规则。
 协议中主要规定了两个方面的内容
- 客户端:用来向服务器发送数据,可以被称之为请求报文
- 服务端:向客户端返回数据,可以被称之为响应报文
报文:可以简单理解为就是一堆字符串
示例:
请求行:POST http://www.baidu.com:80/index.html?a=100&b=200#logo HTTP/1.1
请求头:HOST: http:// www.baidu.com...
空格:
请求体:{"keywords":"手机","price":2000}
2、请求报文的组成
- 请求行
- 请求头
- 空行
- 请求体
1. HTTP 的请求行
 
- 请求方法(get、post、put、delete等)
- 请求 URL(统一资源定位器)
 例如:http://www.baidu.com:80/index.html?a=100&b=200#logo- http:协议(- https、- ftp、- ssh等)
- www.baidu.com域名
- 80端口号
- /index.html路径
- a=100&b=200查询字符串
- #logo哈希(锚点链接)
 
- HTTP协议版本号
2. HTTP 请求头
 
- 格式:『头名:头值』
- 常见的请求头有
| 请求头 | 解释 | 
|---|---|
| Host | 主机名 | 
| Connection | 连接的设置 keep-alive(保持连接);close(关闭连接) | 
| Cache-Control | 缓存控制 max-age = 0(没有缓存) | 
| Upgrade-Insecure-Requests | 将网页中的 http请求转化为https请求(很少用)老网站升级 | 
| User-Agent | 用户代理,客户端字符串标识,服务器可以通过这个标识来识别这个请求来自哪个客户端 ,一般在 PC端和手机端的区分 | 
| Accept | 设置浏览器接收的数据类型 | 
| Accept-Encoding | 设置接收的压缩方式 | 
| Accept-Language | 设置接收的语言 q=0.7为喜好系数,满分为1 | 
| Cookie | 储存 | 
3. HTTP 请求体
 
- 请求体内容的格式是非常灵活的,
 (可以是空)>GET请求,
 (也可以是字符串,还可以是JSON)=>POST请求
 例如:- 字符串:keywords=手机&price=2000
- JSON:- {"keywords":"手机","price":2000}
 
- 字符串:
3、响应报文的组成
- 响应行
- 响应头
- 空行
- 响应体
示例:
响应行:HTTP/1.1 200 OK
响应头:Cache-Control: private...
空行
响应体:
1. 响应行
- HTTP/1.1:- HTTP协议版本号
- 200:响应状态码- 404 Not Found 500 Internal Server Error
- 还有一些状态码,参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status
- OK:响应状态描述
- 响应状态码和响应字符串关系是一一对应的。
2. 响应头
Cache-Control:缓存控制 private 私有的,只允许客户端缓存数据
Connection 链接设置
Content-Type:text/html;charset=utf-8 设置响应体的数据类型以及字符集,响应体为html,字符集
utf-8
Content-Length:响应体的长度,单位为字节
3. 响应体
响应体内容的类型是非常灵活的,常见的类型有 HTML、CSS、JS、图片、JSON
二、IP
 
- IP本身是一个数字标识 (决定设备)
- IP用来标志网络设备,实现设备间通信
- IP的分类:
| 类型 | 说明 | 
|---|---|
| 本机回环 IP地址 | 127.0.0.1~127.255.255.254 | 
| 196.168.0.0~192.168.255.255 | |
| 局域网 IP(私网IP) | 127.16.0.0~172.31.255.255 | 
| 10.0.0.0~10.255.255.255 | |
| 广域网 IP | 除上述之外 | 
参考网址
- 端口:(决定程序) - 应用程序的数字标识
- 主要作用是实现了不同主机应用程序之间的通信