-
协议的含义
计算机之间通过网络实现通信,国际标准化组织(iso),设计出osi模型,TCP/IP网络模型,
-
常见的协议
1 ftp 文件传输协议,在网络上进行文件传输的的协议,在应用层,
2 http 请求-响应协议,客户端发送请求服务器作出响应,
3 dns 域名系统 在万维网上作为域名和ip地址相互映射的一个分布式数据库,
-
传输协议
传输层提供了进程之间的逻辑通信,传输层向高层屏蔽了网络层的核心细节,是应用程序看起来像是两个实体之间进行逻辑通信,
1tcp协议:传输控制协议,面向连接,可靠的,基于字节流的传输层通信协议,
2 udp协议:报文协议,不可靠连接,
-
TCP协议传输特点
tcp是可靠的传输协议,因为创建连接时要经历三次握手,断开时要经历四次挥手,
三次握手是tcp在连接客户端和服务器端要发送三个包来确定连接,
四次挥手是tcp在终止连接时,断开时客户端要和服务器发送四次包确认才会断开,
-
服务器端口
ip地址是用来标识网络上的通行设备,而端口就是用来识别同一台计算机中不同的应用程序,也被称为是程序地址,
端口号范围是0~65535 ,公认端口号0 ~ 1023,注册端口是 1024 ~ 65535
-
查看系统中的应用端口号
如何处理端口号被抢占的问题:输出cmd进入命令行中,输入netstat -ano|findstr “端口号” 可以看到该端口号使用的进程pid信息,
找到pid信息后可以杀死一个进程,
-
数据包和处理流程
网络中通信传输数据的单位是包,数据包中含有包,帧,段,消息,
处理流程中要经过应用层,传输层,网络层,数据链路层,物理层,数据到达每一层都会有每一层的首部标识,
-
HTTP协议
超文本传输协议,用来将文本和文本内容来做出显示,一般是客户端和服务器来做请求和响应的协议,
特点是:1 无连接,一次请求,释放一次,每次请求连接只能处理一次,2 单向性,服务器永远是被动的,3 无状态,对于事务处理没有记忆,通常为了弥补这个缺点会使用Session和Cookie,
-
URL
统一资源定位符,用来标识网络上的资源,由5个元素组成:
1 传输协议 2 服务器地址或是域名 3 端口号 4 资源路径 5 传递数据(参数)
格式 协议:// ip:port/路径?key=value&key=value
浏览器输入一个url会发送一个Request,服务器会返回一个Response里面有html资源,
-
request
请求消息分为三部分,Request line,Request header,Request body,注意request header和Request body之间有空行,
-
Host 自己访问的地址ip/域名
-
conecton是代表连接方式 close表示是短连接,keep-alive是长链接, Connection: keep-alive
-
Cache-Control 指定请求和响应的缓存机制,Cache-Control: private
-
user - agent 浏览器表明自己的身份: User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
-
Accept 告诉服务器自己可以接受什么类型的文件 / 表示任何类型,type/* 表示该类型下的所有子类型,
-
Accept-Encodeing 浏览器声明自己接受的编码方法,
-
Accept-language 浏览器声明自己接受的语言,
-
请求体
是客户端传递给服务器的数据,
-
请求方式
1 get : 向指定资源发出显示请求,get请求会将请求中传递的数据放在url上,可以被浏览器缓存
2 post:向指定资源发送提交数据,请求服务器进行处理,数据会放到请求体中,不会被浏览器缓存的,
3put: 向指定资源位置上传数据,
4 delete : 请求服务器删除url标识资源
-
get和post请求的特点
1 get产生的url可以被缓存 post不可以,
2 get中的url包含的参数长度是有限制的,而post没有,
3 get不安全,post安全
4 get参数通过url来传递,post放在request body中,
-
Response
三部分组成 Response line,Response header, Response body
响应中的状态码:1xx 表示服务器可以收到请求,继续操作请求,2xx是成功,请求发送到达成功接收并处理,3xx 重定向 4xx 客户端错误 5xx 服务器错误。
示例 200 : ok 400:url语法错误 401:验证身份 403:拒绝 404:没有找到 500:服务器内部错误