HTTP 简介

2019-01-06  本文已影响0人  庞贝船长

1. HTTP 定义 : HyperText Transfer Protocol(超文本传输协议)

它是一种应用层协议,用于传输超媒体文档, 如 html. 在Web应用中, 浏览器和服务器之间数据的传输便是通过HTTP 协议进行交互。

2. HTTP client-server structure

HTTP 是一种 client-server 协议: 请求由客户端发起,服务器接收到请求后进行响应, 返回给客户端。这途中可能会经过多个间接的转发站,也就是所说的代理。

Client-server-chain.png

Client: the user-agent
The user-agent is any tool that acts on the behalf of the user. This role is primarily performed by the Web browser.

Proxies
代理处于客户端和服务器之间,对用户来说,通常是透明的。代理有如下的一些作用:

3. HTTP 特点

HTTP is stateless, but not sessionless

HTTP 是无状态的: 这意味着,在同一个连接中,前后两次请求是没联系的,独立的。但可通过设置 cookies 或是 session 来建立前后请求的会话,共享上下文。
例如,在网站登录中,某用户成功登录一次后,服务端应用可保存该用户的账号密码等信息存于session 中,并放在服务端缓存中,然后生成对应唯一的 sessionId,在响应报文中设置 HTTP headers 中 cookies 字段, 存入 sessionId. 在用户的下次请求中,服务端应用会读取 cookies 中 sessionId 对应的 session 信息,即可以使用户先前会话的上下文。

HTTP is connectionless

http/1.0 v.s. http/1.1 v.s. http/2.0

4. What can be controlled by HTTP

5. APIs based on HTTP

6. HTTP flow

8.Evolution of HTTP

HTTP/3 - HTTP over QUIC

The next major version of HTTP, HTTP/3, will use QUIC instead TCP/TLS for the transport layer portion.

参考

上一篇 下一篇

猜你喜欢

热点阅读