摘要:响应行由协议,状态码,状态码的文本描述组成,他们之间使用空格隔开。状态码的文本描述状态码描述说明表示客户端请求成功。
简介
在1990年,HTTP就成为WWW的支撑协议。当时由其创始人WWW之父蒂姆·贝纳斯·李(TimBemers—Lee)提出,随后WWW联盟(WWW Consortium)成立,组织了IETE(Internet Engineering Task Force)小组进一步完善和发布HTTP协议。协议HTTP是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。HTTP是一种协议规范,这种规范记录在文档上,为真正通过HTTP协议进行通信的HTTP的实现程序。
HTTP是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使得开发和部署是那么的直截了当。典型的HTTP事务处理过程那大概我们看到网页的过程是怎样的呢: 实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request,
Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器,
浏览器解析Response中的HTML,这样我们就看到了网页
客户与服务器建立连接;
客户向服务器提出请求;
服务器接受请求,并根据请求返回相应的文件作为应答;
客户与服务器关闭连接。
HTTP请求报文一个请求报文有以下四个部分组成:请求行(request line)、消息头部(header) 、空行 、请求正文
请求行由请求方法,URL,HTTP版本协议组成,它们三个之间使用空格分割,请看下面的例子
POST http://www.example.com HTTP/1.1
这个例子就包含了我们所说的请求行的组成部分,POST为方法,http://www.example.com为url,HTTP/1.1为版本协议
请求方法
方法 | 描述 |
---|---|
GET | 请求指定的页面信息,并返回实体主体。 |
HEAD | 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头 |
POST | 向指定资源提交数据进行处理请求。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。 |
PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
DELETE | 请求服务器删除指定的页面。 |
CONNECT | HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。 |
OPTIONS | 允许客户端查看服务器的性能。 |
TRACE | 回显服务器收到的请求,主要用于测试或诊断。 |
PATCH | 是对 PUT 方法的补充,用来对已知资源进行局部更新 。 |
以上就是我们可以用到的请求方法,常见的只有那么几个,也许可能自己没有达到那个层面,我们可以仔细看上面的这些方法,每个方法都有自己独立要干的事情,所以在我们要和后端开发定制接口或是规范的时候我们要准确的定制,虽然你是前端(在前后端分离的时代你是主动你离用户更近)。
URL
URL(Uniform Resource Locator) 地址用于描述一个网络上的资源, 请看下面格式
protocol :// hostname[:port] / path / [;parameters][?query]#fragment
格式 | 说明 |
---|---|
hostname | 主机名或 IP 地址。 |
port | HTTP服务器的默认端口是8080,http://192.168.10.93:8080/ |
path | 由零或多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。 |
parameters | 这是用于指定特殊参数的可选项。 |
query | 可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP。NET等技术制作的网页)传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。 |
fragment | 字符串,用于指定网络资源中的片断。 |
上面就是我们所说的url它拥有以上甚至更多的格式字段提供我们在url传输获取等资源。
消息头部
HTTP请求头提供了关于请求,响应或者其他的发送实体的信息。
User-Agent:产生请求的浏览器类型。 Accept:客户端可识别的内容类型列表。 Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。
上面的三个是我们在开发中常用经典的头部信息,更多的头部信息
我们可以仔细看上面的请求响应图一共分为以下几个
通用首部(General Header)
请求首部(Request Header)
响应首部(Response Header)
实体首部(Entity Header Fields)
当然我们这个图片内实体是没有的因为我这个图是get方式,大家可以看POST等方法看一下返回的数据就是这个了。
剩下的空行我就在这不多说了。
响应报文有以下四个部分组成:(状态行)响应行、响应头 、空行 、响应体
HTTP/1.1 200 OK Date: July, 22 May 20019 06:07:21 GMT Content-Type: text/html; charset=UTF-8
通过上面的代码示例以及上面的图我们对响应报文应该有了一个初步的了解,它的组合也是分为四部分组成。
响应行
由http协议,状态码,状态码的文本描述组成,他们之间使用空格隔开。
状态码由三位数字组成,第一位数字表示响应的类型,常用的状态码有五大类如下所示:
状态码 | 说明 |
---|---|
1xx | 表示服务器已接收了客户端请求,客户端可继续发送请求。 |
2xx | 表示服务器已成功接收到请求并进行处理。 |
3xx | 表示服务器要求客户端重定向。 |
4xx | 表示客户端的请求有非法内容。 |
5xx | 表示服务器未能正常处理客户端的请求而出现意外错误。 |
状态码的文本描述:
状态码描述 | 说明 |
---|---|
200 OK | 表示客户端请求成功。 |
400 Bad Request | 表示客户端请求有语法错误,不能被服务器所理解。 |
401 Unauthonzed | 表示请求未经授权,该状态代码必须与 WWW-Authenticate 报头域一起使用。 |
403 Forbidden | 表示服务器收到请求,但是拒绝提供服务,通常会在响应正文中给出不提供服务的原因。 |
404 Not Found | 请求的资源不存在。 |
500 Internal Server Error | 表示服务器发生不可预期的错误,导致无法完成客户端的请求。 |
503 Service Unavailable | 表示服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常。 |
以上仅为一些示例和比较常见的状态码,请大家参考,更多可以去google一下。
响应头部
响应头域允许服务器传递不能放在状态行的附加信息,这些域主要描述服务器的信息和 Request-URI进一步的信息。
响应头 | 说明 |
---|---|
Accept-Ranges | 表明服务器是否支持指定范围请求及哪种类型的分段请求。 |
Age | 从原始服务器到代理缓存形成的估算时间(以秒计,非负)。 |
Allow | 对某网络资源的有效的请求行为,不允许则返回405。 |
Cache-Control | 告诉所有的缓存机制是否可以缓存及哪种类型。 |
Content-Encoding | web服务器支持的返回内容压缩编码类型。 |
Content-Language | 响应体的语言。 |
Content-Length | 响应体的长度。 |
Content-Location | 请求资源可替代的备用的另一地址。 |
Content-MD5 | 返回资源的MD5校验值。 |
Content-Range | 在整个返回体中本部分的字节位置。 |
Date | 原始服务器消息发出的时间。 |
ETag | 请求变量的实体标签的当前值。 |
Expires | 响应过期的日期和时间。 |
Pragma | 包括实现特定的指令,它可应用到响应链上的任何接收方。 |
Proxy-Authenticate | 它指出认证方案和可应用到代理的该URL上的参数。 |
响应头的信息有很多,更多的需要的大家可以去搜一搜看一下,但是一般都是我们不常见的,建议知道是干什么的就行,根据自己的能力干多大的事。
响应体
响应的资源(HTML、图片、声音等)会被放入这个响应实体中。参考学习
理解RESTful架构
HTTP协议-HTTP响应报文
HTTP 响应
HTTP响应头信息和请求头信息详解
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/105520.html
摘要:的布局势头很猛,上个月也就是月份新增了欧洲的瑞典节点,随后在本月也就是月日,在北美洲又新增了一个墨西哥节点。当然从墨西哥到国内,这个线路肯定还要横穿美国了。联通回程,联通依然走,国内走联通。vultr的布局势头很猛,上个月也就是9月份新增了欧洲的瑞典节点,随后在本月也就是10月6日,在北美洲又新增了一个墨西哥节点。这已经是vultr的第19个数据中心了,就目前的情形来看,vultr应该不会停...
摘要:促销旗下线路的香港,核内存带宽的只要月付元,年付元。免费赠送防护流量包。香港套餐虚拟,线路,系统盘默认三星硬盘,不限制流量,但不允许长时间占用带宽注意,以下价格都为首月,首季,首年的价格。电信,双程联通,双程移动,走自家的骨干直连cloudstars促销旗下CTG+CN2线路的香港VPS,1核/2G内存/2M带宽/50G SSD的VPS只要月付9.9元,年付99元。此外购买任何产品均免费赠送...
摘要:也就是恒创科技,是香港旗下的老牌品牌,主营中国香港美国日本韩国等地云服务器资源,线路标配国际多线网络三网直连高速直连。恒创科技最新促销活动官网网址测评机器配置中国香港云服务器,精选金融级机房,三网直连,全程专线直达,高速稳定。henghost也就是恒创科技,是香港 SonderCloud Limited 旗下的老牌IDC品牌,主营中国香港、美国、日本、韩国等地云服务器资源,线路标配BGP国际...
摘要:在这里今天老蒋在针对商家新加坡机房进行测评。关于云服务器相关的文章优惠码优惠码整理专题每月更新最新优惠活动新用户最高送美元韩国机房机房测评韩国首尔机房综合速度和线路去程回程测试新人教程新人系列教程新注册账户且用优惠码享受赠送余额老蒋在昨天的文章中有提到Vultr商家韩国首尔机房,虽然离我们距离比较近,但是人家设立的机器并非针对我们大陆用户的,而是除了我们之外的其他亚洲地区的速度是比较好的,比...
阅读 3538·2021-11-22 15:22
阅读 3328·2019-08-30 15:54
阅读 2724·2019-08-30 15:53
阅读 783·2019-08-29 11:22
阅读 3528·2019-08-29 11:14
阅读 2073·2019-08-26 13:46
阅读 2206·2019-08-26 13:24
阅读 2276·2019-08-26 12:22