美文网首页HTTP
[HTTP]4.请求与响应

[HTTP]4.请求与响应

作者: 佐蓝Gogoing | 来源:发表于2019-05-10 15:30 被阅读0次

在两台计算机之间使用 HTTP 协议通信时,在一条通信线路上必定有一端是客户端,另一端则是服务器端。
有时候,按实际情况,两台计算机作为客户端和服务器端的角色有可能会互换。但就仅从一条通信路线来说,服务器端和客户端的角色是确定的,而用 HTTP 协议能够明确区分哪端是客户端,哪端是服务器端。

1. 通过请求和响应的交换达成通信

HTTP 协议规定,请求从客户端发出,最后服务器端响应该请求并返回。
以下是一个具体的示例。


下面为图中的请求报文

GET /index.htm HTTP/1.1 
Host: hackr.jp

起始行开头的GET表示请求访问服务器的类型,称为方法 (method)。随后的字符串 /index.htm 指明了请求访问的资源对象,也叫做请求 URI(request-URI)。最后的 HTTP/1.1,即 HTTP 的版本号,用来提示客户端使用的 HTTP 协议功能。
综合来看,这段请求内容的意思是:请求访问某台 HTTP 服务器上的 /index.htm 页面资源。

  • 请求报文是由请求方法、请求 URI、协议版本、可选的请求首部字段 和内容实体构成的。

接收到请求的服务器,会将请求内容的处理结果以响应的形式返回。

HTTP/1.1 200 OK
Date: Tue, 10 Jul 2012 06:50:15 GMT
Content-Length: 362
Content-Type: text/html
<html> ……

在起始行开头的 HTTP/1.1 表示服务器对应的 HTTP 版本。

紧挨着的 200 OK 表示请求的处理结果的状态码(status code)和原因短语(reason-phrase)。下一行显示了创建响应的日期时间,是首部字段(header field)内的一个属性。

接着以一空行分隔,之后的内容称为资源实体的主体(entity body)。

响应报文基本上由协议版本、状态码(表示请求成功或失败的数字代码)、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成。

2. HTTP 不保存状态


HTTP 是一种不保存状态,即无状态(stateless)协议。HTTP 协议自身不对请求和响应之间的通信状态进行保存。

使用 HTTP 协议,每当有新的请求发送时,就会有对应的新响应产生。协议本身并不保留之前一切的请求或响应报文的信息。这是为了更快地处理大量事务,确保协议的可伸缩性,而特意把 HTTP 协议设计成如此简单的。

可是,随着 Web 的不断发展,因无状态而导致业务处理变得棘手的情况增多了。比如,用户登录到一家购物网站,即使他跳转到该站的其他页面后,也需要能继续保持登录状态。针对这个实例,网站为了能够掌握是谁送出的请求,需要保存用户的状态。

HTTP/1.1 虽然是无状态协议,但为了实现期望的保持状态功能,于是引入了 Cookie 技术。有了 Cookie 再用 HTTP 协议通信,就可以管理状态了。

3. 请求 URI 定位资源


HTTP 协议使用 URI 定位互联网上的资源。正是因为 URI 的特定功能,在互联网上任意位置的资源都能访问到。

当客户端请求访问资源而发送请求时,URI 需要将作为请求报文中的请求 URI 包含在内。指定请求 URI 的方式有很多。


另外可以用一个 * 来代替请求 URI,用来查询 HTTP 服务器端支持的 HTTP 方法种类。

OPTIONS * HTTP/1.1 

相关文章

  • [HTTP]4.请求与响应

    在两台计算机之间使用 HTTP 协议通信时,在一条通信线路上必定有一端是客户端,另一端则是服务器端。有时候,按实际...

  • 浅谈http协议

    1.http基础概念 2.请求与响应过程 3.请求头响应头及请求方式简述 4.客户端缓存(cookie,sessi...

  • HTTP

    HTTP请求报文:1.请求行2.请求头3.请求空行4.请求体 HTTP响应报文:1.状态码2.响应头3.响应空行4...

  • HTTP HTTPS websocket

    HTTP1.http是一个 无连接,媒体独立,无状态的请求响应协议。2.请求方法: 3.响应头信息 4.响应状态码...

  • HTTP入门(二):用Chrome开发者工具查看 HTTP 请求

    HTTP入门(二):用Chrome开发者工具查看 HTTP 请求与响应 本文简单总结HTTP的请求与响应。本文主要...

  • http协议

    1-http 数据结构 http 请求格式:(请求与响应有细微的差别) http 响应格式 抓取包: 2-http...

  • HTTP 请求与响应

    HTTP简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种...

  • HTTP请求与响应

    1.服务器与浏览器的交互 HTTP请求与响应通过Server+Client+HTTP实现: 客户端( 浏览器)负责...

  • HTTP 请求与响应

    HTTP 请求包括哪些部分,如何用Chrome开发者工具查看 HTTP 请求内容 HTTP 响应包括哪些部分,如何...

  • HTTP请求与响应

    Server + Client + HTTP 浏览器负责发起请求 服务器在80端口接收请求 服务器负责返回内容(响...

网友评论

    本文标题:[HTTP]4.请求与响应

    本文链接:https://www.haomeiwen.com/subject/ypnwoqtx.html