HTTP协议简介

2021-10-02 08:14

阅读:862

标签:form   数据量   int   lin   use   删除   分享   快速   类别   HTTP简介 超文本传输协议(Hyper Text Transfer Protocol):用于从万维网(WWW:World Wide Web)服务器传输文本到本地浏览器的传送协议。 基于TCP/IP通信协议来传递数据(html文件、图片、查询结果等) 属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。 工作于客户端-服务端架构之上,浏览器作为http客户端通过URL向http服务器(web服务器)发送所有请求。web服务器根据接受到的请求后,向客户端发送响应信息。 主要特点: 简单快捷:客户向服务器请求服务时,只需传送请求方法和路径。请求的方法常用的有GET 、POST、 HEAD。 灵活:http允许传输任意类型的数据对象。正在传输的类型由Cotent-Type加以标记。 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。(节省传输时间) 无状态:http协议是无状态协议。无状态指对于事务处理没有记忆能力;缺少状态指如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时应答就较快。 支持B/S 、 C/S 的模式 URL 统一资源标识符(Uniform Resource Identifiers)URI 用来传输数据和建立连接。URL是一种特殊类型的URI。 URL(Uniform Resource Locator)统一资源定位符,是互联网上用来标识某一处资源的地址。 http://www.axce.com:8080/news/index.html?borId=5&userId=10&page=1#name 从上面的URL可以看出,一个完整饿URL包括以下几部分: 协议部分:http: 使用的http协议。(HTTP、FTP)后面的// 为分隔符 域名部分:www.axce.com。也可以用IP地址作为域名使用 端口部分:跟在域名后面的是端口,域名和端口之间使用:作为分隔符。端口不是一个URL必须的部分,如果省略端口部分,将采用默认端口 虚拟目录部分:/new/  从域名后的第一个/开始到最后一个/ 为止,是虚拟目录部分。不是必须的 文件名部分:index.html  从域名后的最后一个/开始到?为止;如果没有?,则是从域名后的最后一个/ 开始到#为止;如果没有?和#,那么从域名后的最后一个/ 开始到结束,都是文件名部分。不是必须的,如果省略,则使用默认的文件名 锚部分:从#开始到最后。也不是必须的 参数部分:从?开始到#为止之间的部分为参数部分(搜索部分、查询部分)。参数可以允许有多个参数,参数与参数之间用&作为分隔符 URL和URI的区别 URI:web上可用的每种资源如html文档、图像、视频片段、程序等都是URI定位的。一般由三部分组成: 访问资源的命名机制 存放资源的主机名 资源自身的名称,由路径表示,着重强调于资源 URL:一种具体的URI,可以用来表示一个资源,而且还指明了如何locate这个资源。一般由三部分组成: 协议(服务方式) 存有该资源的主机IP地址(有时也包括端口号) 主机资源的具体地址,如目录和文件名等 URN:(unforim resource name)统一资源命名,通过名字来标识资源。命名资源但不指定如何定位资源 HTTP请求消息Request     客户端发送一个HTTP请求到服务器的请求消息包括以下格式:     请求行(request line) 请求头部(header)、空行和请求数据四个部分组成。 HTTP响应消息response    一般情况下,服务器接受并处理客户端发过来的请求后会返回一个http的响应消息。   http响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。   HTTP状态码 状态码有三位数字组成,第一个数字定义了响应的类别,共分五种类别: 1xx:指示信息--表示请求已接收,继续处理 2xx:成功--表示请求已被成功接收、理解、接受 3xx:重定向--要完成请求必须进行更进一步的操作 4xx:客户端错误--请求有语法错误或请求无法实现 5xx:服务器端错误--服务器未能实现合法的请求 常见的状态码: 200   ok                            / / 客户端请求成功 400   bad request           // 客户端请求有语法错误,不能被服务器所理解 401 unauthorized              // 请求未经授权,这个状态码必须和www-authenticate报头域一起使用 403 Forbidden               // 服务器收到请求,但是拒绝提供服务 404 not Found              // 请求资源不存在,eg:输入了错误的URL 500 Internal Server Error   // 服务器发生不可预期的错误 503   Server Unavailable    // 服务器当前不能处理客户端的请求,一段时间后可能恢复正常   HTTP请求方法 HTTP1.0定义了三种请求方法:GET POST 和 HEAD方法 HTTP1.1新增了五种请求方法:options  put delete trace 和connect 方法。     get :请求指定的页面信息,并返回实体主体     head:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头     post:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中,post请求可能会导致新的资源的建立和/或已有资源的修改。    put:从客户端向服务器传送的数据取代指定的文档的内容    delete: 请求服务器删除指定的页面    connect: http1.1协议中预留给能够将连接改为管道方式的代理服务器。    options:允许客户端查看服务器的性能    trace:回显服务器收到的请求,主要用于测试或诊断       HTTP协议简介标签:form   数据量   int   lin   use   删除   分享   快速   类别   原文地址:https://www.cnblogs.com/girlalittle/p/10168258.html


评论


亲,登录后才可以留言!