OSI七层模型:应用层 会话层 接收层 传输层 网络层 数据链路层 物理层
HTTP:超文本传输协议(html,图片,视频,音频)
FTP:文件传输协议
SMTP:简单邮件传输协议
POP3:邮局协议,接收邮件服务
DNS:域名解析协议 ,将IP解析为网站地址(www.baidu。com--------110.242.68.4)
TCP:传输控制协议
UDP:用户报文协议
IP协议:ipv4 ipv6
ARP协议:地址解析协议,绑定mac和IP地址协议
以太网 物理网络设备等
传输控制协议,是面向连接的,全双工的,可靠的(数据传输的正确性),基于字节的通信协议
http协议报文通过报文段分别打包解包,完成整个报文的传输
全双工,面像连接,可靠的传输方式
也适用于数据传输控制的协议,对数据的可靠性、安全没有保证,不需要连接就可以发送。
UDP和TCP的区别:
tcp是面向连接的,udp是面向无连接
tcp的报文的结构相对要比udp更复杂
tcp是基于字节流(0、1),udp是基于数据报
tcp会保证数据的正确性、udp不能,会存在丢包的现象
tcp传输数据顺序是正确,udp不会
冗余的网络,报文段知道拼接完成后才完成传输
端口号可以是0~65535,其中1024之前的不能随便用,自定义端口的话选择1024之后的。
端口的作用:唯一识别电脑上一个应用的东西
是一种统一的地址格式,主要的作用是屏蔽掉mac物理地址的差异化。
IP危机,ip地址不够用的问题。
ipv4:4个字节、32位:11111111 11111111 11111111 11111111
A类地址:第一个字节作为网络号(第一位上必须是0),后面三个作为主机号
网络号:0 0000001 ~0 1111111 :1~126个网络
主机号:00000000 00000000 00000001 ~ 111111111 11111111 11111111:
1.0.0.0 ~126.255.255.255 (2^24-2是每一个A类的网络中能够安装最大主机数量)
10.9.36.101:是A类地址中的局域网地址
B类地址:前两个字节作为网络号(前两位必须是10,14位),后两个字节作为主机号(16位)
网络号:10000000.00000000 ~ 10111111.11111111 : 128.0 ~ 191.255
127.0.0.1:比较特殊的一个,作为本地回环地址来使用,localhost是一个意思
主机号:00000000.00000000~11111111.11111111:2^16-2
C类地址:前三个字节作为网络号(前三位必须110,21位),最后一个字节作为主机号(8位)
网络号:11000000.00000000.00000000~11011111.11111111.111111:
192.0.0~223.255.255
主机号:00000000~11111111:0~255:2^8-2=254个
192.168.12.22:C类地址中的局域网地址
ipv6:16个字节,每个字节8位,共128位作为地址
http://www.baidu.com
http是超文本传输协议,用于与服务器间传输html文件、图片、视频等文件类型的协议。
http是基于万维网:www : world wide web
http协议基于浏览器的一种BS架构的系统。
能够运行bs架构系统的服务成为web服务器:
apache(php、python等)
tomcat(java)
iis-internet information service
http协议的端口一般采用80,可以修改配置文件为其他(建议1024之后)
https协议(http基础+ssl协议+CA),是一种更安全的超文本传输协议,端口默认为443
chrome,右键鼠标,检查,网络(network)
输入注册数据,点击注册,查看抓到的请求,可以通过payload(输入数据)及response(服务器返回数据)
Request URL: http://localhost:8088/verydows/user/register.html?step=submit
Request Method:post
Request Header:包括很多字段,是对当前请求的一个补充说明
Request data:payload,请求数据
请求行:请求方式、请求url和请求协议及版本
请求头部:包括很多字段
Content-Type:指定请求数据的类型
Content-Length:指定请求数据的大小(Byte)
空行:区分请求头和请求数据的
请求数据:表单数据结构、json数据结构、xml格式等
findler抓包内容
-------------------------------------------------------------------------------------------------------------------------------
POST http://localhost:8088/verydows/user/register.html?step=submit HTTP/1.1 Host: localhost:8088 Connection: keep-alive Content-Length: 89 Cache-Control: max-age=0 sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows" Upgrade-Insecure-Requests: 1 Origin: http://localhost:8088 Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Referer: http://localhost:8088/verydows/user/register.html Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 Cookie: jenkins-timestamper-offset=-28800000; deviceid=1636371560217; xinhu_ca_adminuser=admin; xinhu_ca_rempass=0; xinhu_mo_adminid=tpp0gp0ct0tit0ss0cm0sm0mf0tpt0ttp0qf0gc05; 6971_2132_saltkey=fPpD5Ggm; 6971_2132_lastvisit=1646305581; 6971_2132_visitedfid=2; UVID=c97b016df476f9022ee7e53855b7b3c4; VDSSKEY=5isi3tjqvjcbiuioned00qupuh username=student112&email=student112%40163.com&password=123456&repassword=123456&agree
---------------------------------------------------------------------------------------------------------------------------------
get请求的参数一般拼接在url后面的,存在不安全的因素;post请求的参数请求数据,可以进行加密处理,而且不能通过地址栏看到这个数据
url地址栏是有长度限制的,所以请求的参数长度也有限制;post不受长度的限制。
get是向服务器要数据,不影响服务器的资源;post请求也是向服务器要资源,并且可以改变服务器上的资源
发送get请求一次即可完成;post请求需要两次发送,先获取一次请求100(继续),再继续去发得到200(发送成功)
get:向服务器端申请数据,可以获得响应实体(html格式,josn,xml格式)
head:类似get,但是只获取响应头部,不获取实体
post:可以获取实体,对资源进行增删改
put:修改服务器资源
delete:删除服务器资源
如果为http协议:只用get,post
如果是restful接口,可以使用get,post,put,delete
协议,版本号,响应状态码,响应状态信息
Content-Type:响应正文的格式(json,html,xml)
Content-Length:响应正文的长度
Date:日期。服务器返回响应报文的日期
Last_Modified:服务器上资源最后修改时间
Expires:从服务器申请到本地资源,设置过期时间
get/post获得的实体
200:请求成功
301 302: 分别是永久重新定向和临时重新定向
304:文件内容未发生改变
401:未授权状态
403:禁用状态
404:资源不存在(路径,资源名写错)
1.响应状态码是对请求状态的反馈,不能够判断业务逻辑的问题
2.错误状态码是定义系统业务逻辑状态的功能
3.响应状态码出现在响应报文的状态行,错误码出现在响应正文中
4.错误码可以自己定义,主要反馈业务逻辑的错误