http学习总结

 

 

http协议属于应用层的协议,dns解析得到ip后,通过三次握手建立TCP连接,然后发送http请求,目前http基本上都是1.1版本,默认都是开启Keep-Alive,这样建立的TCP连接,可以在多次请求中复用。

http的报文主要包括三个部分:

(1)请求行

主要包括URL(例子:www.baidu.com),方法(GET/PUT/POST/DELETE),版本(http版本一般为1.1)等

GET和POST区别:

答:get和post都可以传递参数给服务器,但是get顾名思义就是去服务器获取一些信息,而post它需要主动告诉服务器一些信息,告诉服务器的信息一般会放在正文中。

get请求会将参数跟在URL后传递,而POST请求作为http消息的实体内容发给web服务器,当然,在ajax中,这种区别对用户是不可见的。

get对传输的数据是有大小限制的,通常不能大于2kb,而使用post方式传递的数据量要比GET方式大得多(理论上不受限制)

get请求的数据会被浏览器缓存起来,因此其他人可以从浏览器的历史记录中读取到这些数据,例如账号密码,在某种情况下,GET方式会带来严重的安全问题,而POST方式相对来说就可以避免这些问题。

 

POST与PUT的区别:

答:post和put都是要给传给服务器东西的方法,但是post往往用来创建资源,而put往往是用来修改一个资源的。

(2)首部字段

首部是key value,通过冒号分割,比较常见的字段是

content-type:表示正文的格式,一般是json。

(3)正文实体

一般json格式

http返回的报文也是有格式的。

(1)状态行

200:成功

404:找不到资源

.......

(2)首部

也是key value

Retry-After:告诉客户端应该在多久再次尝试一下

Content-Type:一般是json

(3)实体

一.http1.0 与http2.0的区别

a.http1.0在应用层以纯文本的形式进行通信,每次通信都需要带完整的HTTP的头,效率比较低下,http2.0为了解决这些问题,http2.0对http的头进行了一定的压缩,将原来每次都要携带的大量的key value在两端建立一个索引,对相同的头只发送索引表中的索引.

b.http2.0将所有的传输信息分割成更小的消息和帧,如常见的帧有Header帧,Data帧。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值