计算机网络

2017-11-25  本文已影响0人  MinoyJet

一、tcp/http

1、TCP首部。
2、TCP为什么是可靠的?
3、三次握手四次挥手?
4、TCP和UDP
5、http请求报文
http请求报文.jpg

● User-Agent:产生请求的浏览器类型;

● Accept:客户端可识别的响应内容类型列表;星号 “ * ” 用于按范围将类型分组,用 “ / ” 指示可接受全部类型,用“ type/* ”指示可接受 type 类型的所有子类型;

● Accept-Language:客户端可接受的自然语言;

● Accept-Encoding:客户端可接受的编码压缩格式;

● Accept-Charset:可接受的应答的字符集;

● Host:请求的主机名,允许多个域名同处一个IP 地址,即虚拟主机;

● connection:连接方式(close 或 keepalive);

● Cookie:存储于客户端扩展字段,向同一域名的服务端发送属于该域的cookie;

​ 空行:最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头;

6、http响应报文
http响应报文.png

401 Unauthonzed:表示请求未经授权,该状态代码必须与 WWW-Authenticate 报头域一起使用;

403 Forbidden:表示服务器收到请求,但是拒绝提供服务,通常会在响应正文中给出不提供服务的原因;

404 Not Found:请求的资源不存在,例如,输入了错误的URL;

500 Internal Server Error:表示服务器发生不可预期的错误,导致无法完成客户端的请求;

503 Service Unavailable:表示服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常;

二、osi模型

1、osi模型和tcp/ip模型的区别

首先得知道osi模型的设计初衷,ISO组织研究的网络互联模型,说白了就是一个规范,每一层实现各自的功能和协议,并完成与相邻层的接口通信,大家遵守规范,那么就可以互联网络。

OSI七层模型.png

但是OSI模型过于庞大和复杂,所以技术人员又实现了TCP/IP模型,随后得到广泛应用。

TCP-IP五层与协议.png
2、应用层协议有哪些?
TCP-IP协议.jpg

基于TCP的有:HTTP、FTP、TELNET、SMTP

基于UDP的有:SNMP、TFTP、NTP

SNMP,简单网络管理协议,用于网络管理的协议,用于网络设备的管理。

TFTP,简单文件传输协议

NTP,网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议

SMTP,简单邮件传输协议

DNS,域名解析协议

三、

1、http和socket性能比较

首先http是应用层协议,基于传输层TCP协议,它在TCP协议之上主要解决的问题就是如何包装数据;

socket是对TCP/IP协议的封装,它本身并不是协议,它是一个调用接口(API)。

socket连接和http连接也有所不同。

单从这个角度来说,socket的数据传输性能肯定比http要好,但是我们讲性能的时候,不能单纯从原理考虑,还需要对应到具体的场景,比如网络游戏,肯定是选择socket因为它数据传输快,满足网络游戏对传输速率的要求;但是对于基于浏览器的web应用,肯定是要基于相应的http协议。

socket优点

​ 1.传输数据为字节级,传输数据可自定义,数据量小。相应的移动端开发,手机费用低

​ 2.传输数据时间短,性能高

​ 3.适合C/S之间信息实时交互

​ 4.可以加密,数据安全性高

socket缺点

​ 1.需要对传输的数据进行解析,转化为应用级的数据

​ 2.对开发人员的开发水平要求高

​ 3.相对于Http协议传输,增加了开发量

http优点

​ 1.基于应用级的接口使用方便

​ 2.要求的开发水平不高,容错性强

http缺点

​ 1.传输速度慢,数据包大。

​ 2.如实现实时交互,服务器性能压力大

​ 3.数据传输安全性差

Socket适用场景:网络游戏,银行交互,支付。

http适用场景:公司OA服务,互联网服务

上一篇 下一篇

猜你喜欢

热点阅读