http、udp、tcp 简介_马鸿凯_新浪博客

HTTP协议

1.   HTTP(HyperText Transfer Protocol):超文本传输协议

2.   TCP和UDP

重点:

TCP:面向连接的可靠的传输协议

UDP:无连接的,不可靠的传输协议

TCP类似座机打电话,先建立连接再打电话,先说的先到。UDP类似写信,不需要建立连接,发送的对面不一定收到,发送的前后顺序并一定是客户收到的顺序。

UDP比TCP快?

​​​    因为TCP需要 发射 确认 这样一个循环过程

    一定要说UDP比TCP快的地方无非就是UDP没有流控,没有握手,没有成功确认,一个数据包发过去就不管,从这个角度上说TCP是开销大一点。但UDP的“快”带来的问题是它不可靠,的确有些场景快就足够了,比如流媒体,偶尔丢失错乱几个包不是大问题,但更多的情况下,数据的正确性是一个必选项,此时UDP就不一定适用了。

    但有个场景你是绝对需要UDP的,那就是广播,TCP这种点对点有连接的协议,天生就没法广播,你只能建立一大堆连接然后朝每个对端把数据分别发送一遍。

3.   既然有了保证可靠传输的TCP协议,为什么还要不可靠传输的UDP协议呢

(1) 可靠是需要付出代价的,TCP效率不如UDP高。

(2) 很多应用并不需要保证严格的传输可靠性,比如视频会议系统,丢失一两帧肉眼根本分辨不出来。——这是主要原因

4.   HTTP默认端口号80  http://www.sohu.com:80

5.   数据发送前先要封装,封装就是在数据前面加上特定的协议头部。

6.   HTTP是一个基于请求/响应模式的,无状态的协议。无状态就是它根本不记得“上次访问的人是不是这次访问的人”。

7.   HTTP1.1是持续连接方式,浏览器建立连接后,发送请求得到回应,再次发送请求再次得回应。之前1.0版本是一次请求后连接就关闭了。

8.   HTTP请求分为三个部分:请求行、消息报头、请求正文。

9.   请求行以一个方法符号开头(POST、GET等),后面跟着请求URI和协议的版本。比如:GET/test.html HTTP/1.1(CRLF) —— CRLF(可选)表示回车,表示请求写完了。HTTP请求方法浏览器输入网址都是GET方法向服务器获取资源。POST方法用于向服务器发送请求,要求在服务器接受附在请求后面的数据。比如表单提交,username=xxx&password=xxx

10. HTTP响应也是由三部分组成,状态行、消息报头、响应正文,通过浏览器只能看到响应正文。比如:HTTP/1.1 200 OK(CRLF)

11. HTTP常见响应代码,200、404、500,

      200就是正常,

      404表示东西找不到,

       500表示服务器内部出现错误。

12. Telnet演示HTTP请求/响应 

      cmd:telnet www.sohu.com

       80GET/index.html HTTP/1.1 两次回车

        HEAD/index.html HTTP/1.1 得到的响应如下: 

13. 网站都是HTTP1.1,而Tomcat是用HTTP1.0,也就是可持续连接。 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ma_Hong_Kai

微信 2936729162

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值