![](https://img.haomeiwen.com/i12545710/2ee977c06239abef.png)
![](https://img.haomeiwen.com/i12545710/9cf81792f57398cf.png)
TCP/IP协议簇:
TCP/IP通常指的是一个集合,不单单是指TCP和IP协议。
通常,我们使用的网络是在TCP/IP协议簇的基础上运作的,而HTTP协议是属于它的一个子集。
计算机和网络设备需要通信,双方就必须要给予相同的方法,这一切都需要规则,而我们则把这些规则称之为协议。
在协议簇中规定了很多各种各样的内容,如选址方法,双方建立通行的顺序等等。这些协议如(ICMP DNS TCP FTP HTTP SNMP PPPoE IP FDDI)等等,通常我们把TCP/IP认为是在IP协议的通信过程中,使用到的协议簇的统称。
![](https://img.haomeiwen.com/i12545710/c8a297cd3419d4a6.png)
// OSI :七层模型 (开发系统互连)open system Interconnect
// ISO :国际标准化组织
// 物理层 、 数据链路层 、 网络层 、 传输层 、 会话层 、 表示层 、 应用层
// 1-4 为 下层协议 5-7 为上层协议
/*
物理层:
将二进制数据转换成电流 将电流转换成二进制;( 数模转换 和 模数转换 )
中继器:将电信号放大
*/
/*
数据链路层:
定义一个标准帧格式 ( 起始位层 + 数据 + 地址 + 校验 + 截至位层 )确保数据的可靠传输和可识别
*/
/*
网络层:
防止阻塞 选择最优路径 + 分组数据包(接收的时候要去有序的组装)
*/
/*
传输层:( 不进行数据的传输 )
定义了一些协议和端口号( 如HTTP的端口80 )
端口号:每一个应用有很多的服务,每一个服务对应一个端口号,且端口号是唯一的
TCP:强链接 会发生三次握手 ,传输控制协议,传输的安全性高、传输效率低,可靠性强,用于传输可靠性高,数据量大的文件
UDP:不会建立强链接 ,用户数据报协议,传输数据的安全性低,可靠性不高,数据不准确,性能高,效率高。用于传输可靠性不高,数据量小的数据。
如:游戏中的卡顿是因为丢包,导致解析不了数据,界面卡顿
*/
/*
会话层:
建立数据传输的通路,进行数据的传输,在你的系统中发送或者接收数据请求
*/
/*
表示层:
通过一种通用格式来实现不同数据之间的转换
*/
/*
应用层:
为用户的应用程序提供网络服务
*/
/*
socket:
学名:套接字 俗称:插座
传输层以上都是套接字
应用层和传输层之间的桥梁
socket = IP地址 + 端口号 的绑定
*/
HTTP协议的介绍
超文本传输协议,访问的是远程的网络资源,格式是:http://
规定客户端和服务器能有效的进行数据沟通。
HTTP的基本通行过程:
1.请求:客户端向服务器索要数据
2.响应:服务器返回客户端相应的数据![](https://img.haomeiwen.com/i12545710/9845dccf1b5ff5f3.png)
具体步骤:
1.确定请求路径URL
2.获取主机名
3.DNS域名解析
4.获得端口号
5.连接到获取到的端口(通过三次握手建立连接)
6.发送一个HTTP 如:GET请求
7.接收到服务器的响应
8断开链接(1.1之后持续链接)
![](https://img.haomeiwen.com/i12545710/2bcd21a756e6a59b.png)
常用的协议还有:
1.file:访问的是本地计算机上的资源,格式是file:// (不用加主机地址)
2.mailto:访问的是电子邮件地址,格式是mailto:
3.ftp:访问的是共享主机的文件资源,格式是FTP://
客户端通过URL来找到想要链接的服务器:
URL:统一资源定位符
URL的基本格式:协议://主机地址/路径.
1. http://www.yayuanzi.com/img/logo.png IP地址
协议:不同的协议,代表着不同的资源查找方式、资源传输方式
主机地址:存放资源的主机(服务器)的IP地址(域名)
路径:资源在主机(服务器)的位置
发送HTTP请求的方法:
最常用的GET和POST方法,他们就可以完成增删改查的请求
参数:传递给服务器的具体数据,比如登录的账号和密码
一、GET和POST的对比:
1.主要体现在数据的传递上:
2.安全性:GET请求是直接将参数暴露在参数里面,外界可以访问到,而POST不是放在请求体里面,相对而言更加的安全。
二、GET和POST的选择:
总结就是:索取数据(数据查询)的时候用GET请求,其他情况都是POST请求
![](https://img.haomeiwen.com/i12545710/1340788ec610f742.png)
三、HTTP通行过程 - 请求
完整HTTP协议请求包含以下内容:
1.请求头:包含了对客户端的环境描述、客户端请求的数据等
![](https://img.haomeiwen.com/i12545710/1828cc5849840f6b.png)
2.请求体:
![](https://img.haomeiwen.com/i12545710/d78faec36576dcfa.png)
请求体不是必要的 - get请求没有请求体,因为它把数据放在参数后面
四、HTTP通行过程 - 响应
客户端向服务器发送请求,服务器应当做出响应,即返回数据给客户端
HTTP协议规定:1个完整的HTTP响应中包含了一下内容:
1.响应头:包含了对服务器的描述,对返回数据的描述
![](https://img.haomeiwen.com/i12545710/d1c53ead0f78456b.png)
2.响应体:服务器返回给客户端的具体数据,比如文件数据
对比:
GET把参数放在URL的后面,POST把参数放在请求体里面,相对安全
![](https://img.haomeiwen.com/i12545710/a849345edd4867f1.png)
调试常见的响应状态码:
![](https://img.haomeiwen.com/i12545710/853d0461a0acf64d.png)
![](https://img.haomeiwen.com/i12545710/1ded7c9c984893fe.png)
广告:本人实习生,最近想换个工作环境,如果觉得我还可以的话,请向我留言,安徽,杭州,南京地区的都可以。。
网友评论