首页 > 编程知识 正文

HTTP超文本传输协议

时间:2023-05-06 12:18:18 阅读:255420 作者:1258

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

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

URL URL( UniformResourceLocator ),中文叫统一资源定位符,是互联网上用来标识某一处资源的地址。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主要特点

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

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

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

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

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

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

注:

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

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

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。