HTTP协议

当我们在浏览器输入一个URL例如www.baidu.com时,浏览器首先把这个域名法送给DNS服务器,让他解析成IP地址,然后建立TCP连接,因为HTTP是基于tcp协议,之后才开始请求建立HTTp连接。

目前使用的HTTP协议大部分使用的是1.1.在1.1的协议里面,默认开启了Keep-Alive机制,这样建立起来的TCP连接,就可以在多次请求中复用。
HTTP的报文分为三个部分,第一部分是请求行,第二部分是请求的首部,第三部分是请求的正文实体。

第一部分:请求行

包括方法、URL、版本。URL就是www.baidu.com,版本是HTTP1.1。常用的方法包括GET、POST、PUT、DELETE。

对于访问网页来说最常用的是GET类型。GET就是去服务器获取一些资源,通常要获取的资源是一个页面,当然也有其他格式,比如是返回一个JSON字符串,具体返回什么是由服务端的实现决定的。
例如,在云计算中如果我们的服务器要提供一个基于HTTP协议的API,获取所有云主机的列表,这就会使用GET方法得到,返回的可能是一个JSON字符串。字符串里面是一个列表,列表里面是一些关于云主机的信息。

POST类型只要是给服务端一些信息,信息具体是什么会放在正文里面,正文的格式最常见的也是JSON。 在支付的时候,用户需要把“我是谁?我要支付多少钱?我要买啥?”这些信息高速服务器,就需要通过POST方法。在云计算里,需要把一些信息比如“需要创建多大的云主机?多少CPU多少内存?多大的硬盘”把这些信息放在JSON字符串里面,通过POST方法高速服务器端。

PUT类型的是向指定资源位置上传最新的内容。但是HTTP的服务器往往不允许上传文件,所以POST和PUT方法的作用都变成了把信息告诉给服务器。

在实际使用的时候,POST往往是用来创建一个资源的,而PUT是用来修改一个资源的。例如,云主机已经创建好了,对云主机打一个标签,说这个是生产环境的哪个是测试环境的,如果想要修改这个标签,就需要用到PUT方法。

DELETE类型的,使用用来删除一个资源的,比如要删除一个云主机,就会调用一个DELETE方法。

第二部分,请求方法GET,POST

GET和POST两种请求最直观的区别是:
GET把参数放在URL里面,POST把请求放在request body里面。
GET和POST是

参考文献

极客时间网络专栏

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值