10-13 网络编程基础
一、osi七层参考模型
包括应用层 表示层 会话层 传输层 网络层 数据链路层 物理层;
二、TCP/IP协议四层模型
包括应用层 传输层 网络层 网络接口层,这四层中每一层都用相应的协议,如下:
三、OSI 七层参考模型与 TCP/IP 四层协议的区别
四、传输层协议 TCP UDP
UDP: 传送速度快,但是容易丢数据,如视频聊天,语音聊天
TCP: 传送稳定、效率慢,不会丢失数据,如文件的上传、下载
UDP是无连接通信协议,发送端不会确认接收端是否存在,UDP协议消耗资源小,通信效率高,但不能保证数据的完整性。
TCP协议是面向连接的通信协议,即在传输数据前先在发送端和接收端建立逻辑连接,然后再传输数据,由客户端向服务端发出连接请求,每次连接的创建都需要经过“三次握手”。效率低,但它可以保证传输数据的安全性
TCP协议和UDP协议区别
-
- TCP 协议需要三次握手,而 UDP 协议不需要
- TCP 协议丢包有重发机制,数据安全性比较好,而 UDP 协议丢包不重发,数据安全性差
- TCP 协议适合传输数据量小且安全性要求高的数据,而 UDP 协议适合传输数据量大安全性要求低的数据(比如音频、视频等)
五、HTTP协议
HTTP(超文本传输协议) ,是一种分布式、合作式、多媒体信息系统服务,面向应用层的协议,是Internet上目前使用最广泛的应用层协议,它基于传输层TCP协议进行通信,HTTP协议是通用的、无状态的协议。
5.1 HTTP协议三大特点:
1.遵循请求/响应模型
客户端向服务器发送请求:
服务器被动响应客户端的请求
服务器通过无数的请求/响应向客户端提供各种网络服务
2.无连接
一次请求/响应结束后,客户端与服务器将断开网络连接
3.无状态
无状态是指协议对于前后两次 请求/响应没有记忆能力
动态web需要保存状态的,但协议层面不支持状态保存,常用Session会话实现状态管理。
5.2 HTTP协议请求的组成
请求行(HTTP方法、请求的URL、HTTP版本),请求头,请求正文
5.3 HTTP请求的四种方式
1.用户在浏览器地址栏中输入URL地址并回车向服务器发送请求
2.用户在网页上点击一个超链接向服务器发送请求
3.用户在网页上提交填写的表单向服务器发送请求
4.用户在网页上使用AJAX技术向服务器发送请求
5.4 HTTP请求方法—GET/POST
GET方法:请求携带的参数是在GET请求的URL地址后面
POST方法:请求携带的参数在 HTTP 请求主体中加密
5.5 HTTP协议响应的组成:
状态行(HTTP版本、响应码、响应描述),响应头、空行、消息体
5.6 HTTP状态码
100-199 表示信息代码,请求正在进行
200-299 表示客户请求成功
300-399 表示用于已经移走的资源文件,指示新的地址
400-499 (404表示客户端请求服务器未收到或无法处理)表示由客户端引发的问题
500-599 (500表示服务器处理出现错误或异常)表示由服务器端引发的错误