web入门-UDP/TCP/HTTP/HTTPS

1.什么是TCP,什么UDP,它们两者的区别?

TCP:Transmission Control Protocal 传输控制协议

是一种面向连接的,可靠的,基于字节流的传输层通信协议

UDP:User Datagram Protocal 用户数据协议

是OSI/RM 模型中隶属于传输层的面向无连接的网络数据传输协议。

区别:

(1).TCP提供可靠的服务,通过TCP连接传送的数据,无差错,不丢失,不重复,按序到达;UDP尽最大努力交付,即不保证可靠交付。
(2)TCP连接只能是点到点的;
UDP支持一对一、一对多、多对一、多对多的交互通信。
(3)TCP的逻辑通信通道是全双工的可靠信道;
UDP的逻辑通信信道是不可靠信道。


image.png

2.简单的描述一下TCP的三次握手和四次挥手的过程

  • 三次握手建立连接
    A->B:发送一个寻址请求码seq=100;B->A:返回一个应答 ack=101;
    A->B:发送一个确认请求码seq=101,确认连接;B->A:返回一个应答,ack=300;
    A->B:发送一个连接确认码ack=300;B->A:返回应答ack=80;
    A和B之间开始进行数据交互;
  • 四次挥手断开
    A->B:发送一个数据验证请求码seq=100;B->A:返回一个应答ack=101;
    A->B:发送一个传输结束标记:seq=101;B->A:返回一个应答 ack=200;
    A->B:发送一个确认结束标记:seq=200;B->A:返回一个应答 ack=300;
    A->B:发送连接断开标记:seq=300;B->A:返回断开连接应答:ack=400;
正是有了三次握手和四次挥手对于连接可靠性的保障,才让TCP协议端对端的数据交互变得可行,但是同样由于该协议的过于可靠,被有心人利用经常实施DDOS拒绝服务攻击。

3.简述HTTP和HTTPS协议的不同之处

HTTP:HyperText Transfer Protocal 超文本传输协议
HTTPS:HyperText Transfer Protocal over Secure Socket Layer 安全HTTP协议通道,简称安全的超文本传输协议。简单讲就是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

HTTP和HTTPS的相同点
  • 大多数情况下,HTTP和HTTPS是相同的,因为都是采用一个基础的协议,作为HTTP或HTTPS客户端--浏览器,设立一个连接到web服务器指定的端口。当服务器接收到请求,它会返回一个状态码以及消息,这个回应可能是请求信息、或者只是某个错误发送的错误信息。系统使用统一组员管理器URI模式,因此资源可以被唯一指定。而HTTPS和HTTP唯一不同的只是一个协议(https)的说明,其他都是一样的。
HTTP与HTTPS有什么区别?
  • (1)HTTP的URL以http://开头,而HTTPS的URL以https://开头
    (2)HTTP是不安全的;而HTTPS是安全的
    (3)HTTP标准端口是80,而HTTPS的标准端口是443
    (4)在OSI网络模型中,HTTP工作于应用层,而HTTPS工作在传输层
    (5)HTTP无需加密,而HTTPS对传输的数据进行加密
    (6)HTTP无需证书,而HTTPS需要认证证书。
扩展:什么时候该使用HTTPS?
  • 银行网站,支付网关、购物网站、登录页、电子邮箱一级一些企业部门的网站应该使用HTTPS。

4.http有八种请求方式

get:向服务器请求指定的资源
post:向服务器提交数据请求处理,数据被包含在请求体中
put:向服务器上传指定的数据
delete:向服务器发送请求删除指定数据
option:返回服务器对指定资源数据支持的HTTP请求方法,一般用于测试服务器功能的可用性
head:返回服务器上对指定资源数据的HTTP请求头,在不需要返回全部数据的情况
track:回显服务器收到的请求,主要进行功能测试判断
connect:HTTP1.1协议中预留请求方式,可以将连接 改为管道方式的代理服务器

get和post的区别

(1)提交参数的位置不同:
get提交的数据会放在URL之后,以分割URL和传输数据,参数之间以&相连,如:htt://www.baidu.com/test?name=test&id=1234
post方法是把提交的数据放在HTTP包的Body中。
(2)提交参数的大小不同:
get提交的数据大小有限制(因为浏览器对URL的长度有限制),这点要根据实际情况而论,目前浏览器种类比较多,不同的浏览器大小 限制不同。
而post方法提交的数据理论上没有限制,但是建议不要太大
(3)安全问题上:
get方法提交数据,会带来安全问题,因为参数是裸露在地址栏上,所以较不安全。
而post方式参数在body中,所以安全性较高(注意:只是较高,不是很安全,在 http协议下,不管哪种提交方式,都是明码提交,只要有抓包工具,都能抓取数据的)
(4)是否浏览器可以收藏
get请求因为参数在地址栏上,因此可以收藏(因为参数可以保存)
而post请求不行,不能被浏览器收藏,因为参数无法被浏览器保存

你可能感兴趣的:(web入门-UDP/TCP/HTTP/HTTPS)