http的了解、get/post的区别

超文本传输协议,构建与TCP/IP协议之上,默认端口号为80,处于网络体系结构的最顶层应用层上,Http协议采用的是请求/响应的工作方式。Http是无连接无状态的。

Q1:怎么理解Http是无连接无状态的

无连接是指限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。这就表明每个请求都是独立的。

Http的这两个特性的优缺点:

优点在于解放了服务器,每一次请求“点到为止”不会造成不必要连接占用。

缺点在于每次请求会传输大量重复的内容信息。

Cookie和Session是用来保持Http连接的两种技术。

Http报文

Http在应用层通过报文的方式来交换数据,分为请求报文和响应报文

请求报文

Http的请求报文由请求行,请求头,请求体组成

请求行:声明了请求方法,主机域名,资源路径和协议版本

请求头:包括一些访问的域名、用户代理、Cookie等信息

请求体:Http请求的数据

请求方法

Get:从服务器读取数据

Post:为服务器添加信息

Put:为指定的URL下添加一个文档

Delete:删除指定URL所标志的信息

Q2:Http的Get和Post请求方式有什么区别

Get可提交的数据量收到URL长度的限制,URL的长度最多是2048个字符。Post请求是没有长度的限制的。

Get请求的数据类型只允许Ascll字符,Post可以是任何类型

Get请求的安全性较差,因为数据参数是直接拼接在URL后面的,可见。Post数据封装在Http的请求体中,浏览器中没有缓存。

Get请求适用于数据量较小,并且数据不敏感的情况。Post正好相反

请求体有三种使用方式:

数据交换:请求体可以任意类型,比如json串,不过服务器需要解析

键值对:Get请求数据每个键值对通过&拼接在URL后面,键与值之间用=连接

分部分形式:

Http处在应用层,Https处在传输层

Http明文传输,Https通过ssl加密和身份认证

Http默认80端口,Https默认443端口

响应报文

包括状态行,响应头和响应体

状态行:包括协议版本Version、状态码Status Code、状态码描述

响应头:包括搭建服务器的软件,发送响应的时间,回应数据的格式等信息

响应体:响应的具体数据

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值