1 IP地址
ip地址能够在网络中标识唯一一台设备
1.1查看ip地址:
win: ipconfig
mac和linux: ifconfig
1.2 测试网络是否畅通的命令:
ping ip地址
1.3 本机ip地址:
127.0.0.1
2 端口
-
端口号: 标识一台网络设备中的一个程序
-
端口号分类(65536个):
-
知名端口号:0~1023
-
动态端口号:1024~65535
3 TCP通讯协议
TCP: 是一种面向连接的 可靠的 可以把数据准确无误的传输的通讯协议
4 TCP客户端的基本流程
- 创建客户端套接字对象
- 和服务端套接字建立连接
- 发送数据
- 接收数据
- 关闭客户端套接字
5 编解码
网络中必须传输二进制的数据
-
字符串转化成二进制 encode(“utf-8”)
-
二进制传化成字符串 decode(“utf-8”)
注意:
1、 utf8编码的数据必须用utf8解码;
2、响应头里可以显示汉字: Content-Type: text/html; charset=UTF-8
6 HTTP协议
-
tcp协议是我们的大多数网络应用之间的链接时候使用的协议(底层的协议)
-
http协议的作用: 特指 浏览器和服务器 之间的数据通许格式的具体规定
注意: http协议规定的就是 send和recv 接受和发送的数据的具体格式
7 url
- 协议部分: https://、http://、ftp://
- 域名部分: news.163.com
- 资源路径部分: /18/1122/10/E178J2O4000189FH.html
8 请求报文的格式
-
发送数据: 请求报文
-
回复数据: 应答报文
8.1 请求报文的两种请求格式:
-
get: 只向服务器要数据 是不给服务器提供数据的
-
post: 会给服务器提供数据
8.2 请求报文的组成: 请求行 请求头 空行 请求体(get方式没有请求体)
1、请求行
GET /index.html HTTP/1.1 \r\n 请求方式 请求资源路径 协议版本 换一行
2、请求头
key:value \r\n 设置网页的相关的属性 换行
3、空行
\r\n
4、请求体
name age addr 想要给服务器传递的数据
8.3应答报文的组成: 应答行 应答头 空行 应答体
1、应答行
HTTP/1.1 200 OK \r\n HTTP协议版本 状态码 状态描述 换行
2、应答头
key:value \r\n 设置应答数据的相关属性 换行
3、空行
\r\n
4、应答体:
(浏览器中有一张百度的图片 这个图片一定是应答体传输给浏览器的)
html css js 图片视频 服务器发给浏览器的数据
9 基本流程
- 浏览器和服务器直接建立连接(tcp)
- 浏览器和服务器之间进行数据通讯(send和recv)==> 数据的格式遵循HTTP协议格式
浏览器 发送数据给 服务器 ==> 请求报文格式
服务器 发送数据给 浏览器 ==> 响应报文格式
注意点:
1、浏览器中的图片是 响应报文中的响应体
2、浏览器中的 index.html ==> 请求报文中请求行中的第一个空格后面)