复习网络原理、HTTP协议、Socket编程、TCP/IP协议、UDP协议

1.复习网络原理
1.层次划分:
应用层——传输层——网络层——数据链路层

2.局域网内,数据链路层之间如何通信:
数据的广播特性(mac地址)/ 冲突域

3.局域网内,应用层之间如何通信:
a) 从上往下:不断封装
b) 从下往上:不断解包,不断分用

4.跨局域网的情况下,应用层之间如何通信:

复习网络原理、HTTP协议、Socket编程、TCP/IP协议、UDP协议_第1张图片
5.路由器的作用:
划分局域网,起到网关的作用

2.复习——HTTP协议

HTTP协议是应用层最主要的一个协议

1.URL:资源唯一标识地址
2.request(请求):客户端发送的就是请求
3.response(响应):服务器发送的就是响应
4.C\S:Client是请求资源方,Server是提供资源方(是相对的)
5.请求格式:
复习网络原理、HTTP协议、Socket编程、TCP/IP协议、UDP协议_第2张图片
6.相应格式
复习网络原理、HTTP协议、Socket编程、TCP/IP协议、UDP协议_第3张图片
1xx(临时响应):
100 继续
101 切换协议
102 继续,扩展状态码
2xx(成功):
200 成功
201 已创建
202 已接受
203 非授权信息
204 无内容
205 重置内容
206 部分内容
207 出现XML消息
3xx(重定向):
300 多种选择
301 永久移动
302 临时移动
303 查看其它位置
304 未修改
305 使用代理
307 临时重定向
4xx(请求错误):
400 服务器不理解请求
401 未进行身份验证
402 预留状态码
403 服务器拒接请求
404 服务器找不到请求的页面
405 禁用请求中指定的方法
406 无法使用请求的内容响应请求的网页
407 需要代理授权
408 服务器等待请求时发生超时
409 服务器在完成请求时发生冲突
410 请求的资源已永久删除
411 需要有效长度
412 未满足前提条件
413 请求实体过大
414 请求的URL过长
415 不支持的媒体类型
416 请求范围不符合要求
417 未满足期望值
5xx(服务器错误):
500 服务器内部错误
501 尚未实施
502 错误网关
503 服务不可用
504 网关超时
505 HTTP版本不受支持
600 源站没有返回响应头部,只返回实体内容

3.复习Socket编程
udp
复习网络原理、HTTP协议、Socket编程、TCP/IP协议、UDP协议_第4张图片
复习网络原理、HTTP协议、Socket编程、TCP/IP协议、UDP协议_第5张图片
tcp
复习网络原理、HTTP协议、Socket编程、TCP/IP协议、UDP协议_第6张图片
复习网络原理、HTTP协议、Socket编程、TCP/IP协议、UDP协议_第7张图片
4.复习——TCP/IP协议
tcp/ip协议工作在:传输层-网络层-数据链路层

传输层:端到端(endpoint to endpoint)
在网络上(不靠路私网):
1.IP标识唯一主机,一个主机可以拥有多个IP地址,一个IP地址只能属于一个主机
2.端口(port)标识主机上的唯一进程,一个进程可以拥有多个端口,一个端口只能属于一个进程
3.IP+port 标识网络上的唯一主机的唯一进程
4.五元组:协议,主机A(源IP+源port),主机B(目的IP+目的port),标识网络上唯一一个端对端的通信通道
5.演示
Windows上:
复习网络原理、HTTP协议、Socket编程、TCP/IP协议、UDP协议_第8张图片
在这里插入图片描述
6.常见的端口划分方式
a)1024以下端口留给知名服务取用(well known)
例外:MySQL服务器:3306端口
所以,监听1024以下的端口时,需要管理员权限
b)常见端口
ssh服务器:22端口
http服务器:80端口
https服务器:443端口
DNS服务器:53端口

7.一台机器上的端口最多有:65535个,16个端口
5.复习——UDP协议
特征:
1.不可靠
2.面向报文
3.无连接

解包使用UDP长度,分用使用目的端口
原端口的作用:
复习网络原理、HTTP协议、Socket编程、TCP/IP协议、UDP协议_第9张图片
校验和(签名):
校验数据的正确性(hash值没有变)
复习网络原理、HTTP协议、Socket编程、TCP/IP协议、UDP协议_第10张图片
如果校验和不对,数据被直接丢弃

UDP的其他知识点:
复习网络原理、HTTP协议、Socket编程、TCP/IP协议、UDP协议_第11张图片
UDP的Socket既能读也能写,这个概念叫做全双工
UDP使用注意事项:
UDP协议首部有一个16位的最大长度,一个UDP能传输的数据最大长度是64K(包含UDP首部)。而64K在当今的互联网环境下是一个非常小的数字,如果需要传输的数据超过64K,就需要在应用层手动分包,并在接收端手动拼装。

基于UDP 的应用层协议:
NFS 网络文件系统
TFTP 简单文件传输协议
DHCP 动态主机配置协议
BOOTP 启动协议(用于无盘设备启动)
DNS 域名解析协议
复习网络原理、HTTP协议、Socket编程、TCP/IP协议、UDP协议_第12张图片
注意:主机先在local DNS 查表,找不到了一级一级往上找,找到之后将这个域名,IP地址的对应关系,写进自己的DNS,下次就能找到了,不用再查找上一级DNS

DHCP:
动态申请IP地址
复习网络原理、HTTP协议、Socket编程、TCP/IP协议、UDP协议_第13张图片
家里的路由器一般就是DHCP/Local DNS/IP 网关

你可能感兴趣的:(JavaWeb)