ASP.NET Web Api 系列(一):初识HTTP 协议

HTTP 简介

HTTP协议是消息系统的应用层协议, 是驱动Web的核心。
HTTP协议定义了供客户端和服务器在网络上传输信息的统一接口,让它们无需了解执行的具体细节。
HTTP协议是为支持动态变化的系统而设计的,可以容忍一点程度的延迟和陈旧(版本)。这种设计允许中间层(代理服务器)介入通讯,提供各种功能,例如缓存、压缩、以及路由分发选择。万维网规模庞大,而网络拓扑持续展开,延迟不可避免,而HTTP协议因其特性,符合万维网的理想协议。
HTTP 是一个基于TCP/IP 通讯协议来传输数据。

HTTP 消息交换

基于HTTP 协议的系统以一种无状态的方式, 使用请求/ 响应模式进行消息交换。

HTTP 消息交换过程 :
1、首先, HTTP 客户端生成一个HTTP请求,这个HTTP请求是一个消息, 其中包括一个HTTP版本,一个访问资源的URL, 请求标头(Header),和一个HTTP方法,还可以包含一个可选的实体正文。
2、这个请求随后被发送到资源所在的源服务器。服务器查看URL和HTTP方法, 以判断自己是否能够处理这个消息。
3、服务器完成消息处理后, 就生成一个HTTP响应。HTTP响应包含HTTP版本,响应标头, 可选的实体主体, 一个状态码。同样,客户端也会检查响应标头, 使用其描述信息对消息进行处理。

HTTP 方法

HTTP协议提供了一组标准方法, 作为资源访问的接口。HTTP方法是HTTP请求的一部分。

  • GET
    从资源获取信息。如果成功返回资源,服务器应该返回200(OK),支持服务器缓存。
  • HEAD
    只返回响应标头。
  • POST
    请求服务器接受消息中包含的实体, 交由目标资源处理。
  • DELETE
    请求服务器移除指定的URL所代表的实体。

HTTP标准方法具有以下优势:

  • 只要HTTP资源遵循协议规范,任何HTTP客户端都可以与其交互。
  • 服务器可以优化。代理服务器和web服务器可以选择一些方法提供优化。例如: 缓存代理知道GET请求可以缓存,因此, 如果你发出一个GET请求,代理就可以返回一个缓存的资源标识,不需要把请求发送到服务器,减轻服务器压力。

HTTP 方法的属性

HTTP方法可以具有以下的附加属性。
安全

  • 使用安全的HTTP方法发送请求,用户可以使用这个方法安全的发送请求,不用担心无意间修改了系统状态。GET、HEAD。
    幂等
  • 通过幂等 方法对资源 发出一次请求,与多次请求效果相同。按照定义,所有的安全方法都是幂等的。GET、HEAD、PUT、DELETE、PATCH。
    可缓存
  • 可缓存方法可以从中间层缓存处, 获取对之前请求缓存的响应。GET、HEAD。

HTTP 优点和缺点

优点:

  • 支持客户端/服务器模式
  • 应用广泛、跨平台
  • 简单快速

缺点:

  • 明文传输
  • 不安全 (HTTPS通过引入SSL/TLS层,解决这个隐患)

HTTPS

HTTPS:是以安全为目标的 HTTP 通道,是 HTTP 的安全。HTTPS 的安全基础是 SSL。SSL 协议位于 TCP/IP
协议与各种应用层协议之间,为数据通讯提供安全支持。

HTTP 状态码

  • 200 – 请求成功
  • 301 – 资源(网页等)被永久转移到其它URL
  • 404 – 请求的资源(网页等)不存在
  • 500 – 内部服务器错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值