HTTP超文本传输协议

HTTP协议
  1. HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:WorldWide Web )服务器传输超文本到本地浏览器的传送协议。
  2. HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件,,查询结果等)。
  3. HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(NextGeneration of HTTP)的建议已经提出。

在这里插入图片描述


URL
  1. URL( UniformResourceLocator ),中文叫统一资源定位符,是互联网上用来标识某一处资源的地址。
  2. HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。

URL格式
<协议名称>:// <主机名> / <资源的路径> ?<查询字符串> # <片段标识符>
schema : // user:password@host:port / path ? query_string # segement
在这里插入图片描述


HTTP客户端请求、响应协议

请求格式(Request):

  • 请求方法 路径 版本
  • 请求头:值
  • ……
  • 空行
  • [请求正文]
    在这里插入图片描述

响应格式(Response):

  • 版本 状态码 状态描述 (响应行/状态行)
  • 响应头:值
  • ……
  • 空行
  • [响应正文]
    在这里插入图片描述

在这里插入图片描述


HTTP状态码

状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:

状态码含义
1xx(指示信息)表示请求已接收,继续处理
2xx(成功)表示请求已被成功接收、理解、接受
3xx(重定向)要完成请求必须进行更进一步的操作
4xx(客户端错误)请求有语法错误或请求无法实现
5xx(服务器端错误)服务器未能实现合法的请求

HTTP状态码详解


HTTP主要特点
  1. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

  2. 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

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

  4. 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
    在这里插入图片描述

  5. 支持B/S及C/S模式。


HTTP方法
方法说明支持的HTTP协议版本
GET获取资源1.0 / 1.1
POST传输实体主体1.0 / 1.1
DELETE删除文件1.0 / 1.1
PUT传输文件1.0 / 1.1
HEAD获得报文首部1.0 / 1.1
OPTIONS询问支持的方法1.1
TRACE追踪路径1.1
CONNECT要求用隧道协议连接代理1.1
LINK建立和资源之间的联系1.0
UNLINE断开连接关系1.0

注:

  • GET提交的数据会放在URL之后,也就是请求行里面,以?分割URL和传输数据,参数之间以&相连,如EditBook?name=test1&id=123456.(请求头里面那个content-type做的这种参数形式,后面讲)

  • POST方法是把提交的数据放在HTTP包的请求体中.

  • GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值