第1章: HTTP 概述

2021-10-30  本文已影响0人  404Not_Found
# HTTP - Internet多媒体信使
# Web 客户端和服务器
# 资源
  ## 媒体类资源 MIME 简介
  ## URI
  ## URL
# 事务
  ## 方法
  ## 状态码
# 报文
# 连接
# web 结构组件
  ## 代理
  ## 缓存
  ## 网关
  ## 隧道
  ## Agent 代理

1.1 HTTP -- 因特网得多媒体信使

HTTP 使用得是 可靠的数据传输协议

1.2 Web 客户端和服务器

web服务器,即 http 协议服务器。客户端发http请求,服务器将数据塞到http响应中


echo.png

浏览器会向服务器发送一条http请求。服务器会去寻找锁期望的对象(/index.html),如果成功,就将对象,对象类型,对象长度以及其他一些信息放在http响应中发送给客户端。

1.3 资源

资源是存储在服务器中的分为:

媒体类资源

网络中有上千中数据类型。http仔细的给每种类型都打上了MIME类型标签。

image.png

MIME: Multipurpose Internet Mail Extension.
当Web 浏览器从服务器中取回一个对象时,会去查看相关的MIME类型,查看http是否知道如何处理。

MIME结构:
Content-type: image/jpeg
Image: 主要的对象类型
jpeg: 子类型。

工作中接触的比较多的MIME 类型为:application/json
应用程序特有的内容格式,类型为 json

URI

服务器资源都有一个名字。被称为 URI: Uniform Resource Identifier.
资源路径。

URL

URL 即 URI
特定资源,特定位置。

URL.png
  1. 方案/协议类型 scheme : http
  2. 地址
    3/ 资源路径
image.png

1.4 事务

指客户端通过HTTP 与 Web 服务器进行资源处理的过程。


image.png

1.4.1 方法

1.4.2 状态码

每条http响应报文返回时都会携带一个状态码。表明是否发送成功等。


状态码.png

1.4.3 Web页面中可以包含多个对象

应用程序完成一项任务时,通常会发布多个http事务。比如 浏览器发布一些列的http事务获取并现实web页面。
浏览器会先通过一个事务获取html框架,再发送一个事务去要图片,java小程序等。这些资源可能都不在同一台服务器上。


image.png

1.5 报文

http 报文都是纯文本,而不是二进制代码。

example.png
  1. 请求报文
    get 目标地址,资源为 /tool.html. http 版本 1.0
  2. 回报
    版本,状态码,content length 说明相应主体的长度。
    content type 说明了文档的MIME 类型为 text/html

返回的是一个 html网页

1.6 连接

http 是可靠连接,建立在tcp/ip 基础上。


example.png

这是刚才的例子
流程

  1. 用户输入 url
  2. 获取主机名
  3. 向dns要地址
  4. 端口号默认80
  5. 建立连接
  6. 发送get请求
  7. 返回http相应
  8. 断开连接

1.8 web 结构组件

1.8.1 代理


image.png

代理接收客户端所有http请求。并将这些请求转发给服务器。
出于安全考虑,通常会将代理作为转发所有web流量的可信任中间节点使用,代理还可以对请求和相应进行过滤。屏蔽一些嘿嘿嘿网站

1.8.2 缓存
缓存也是代理缓存。是一种特殊的http代理服务器。可以将经过代理传送的常用文档赋值保存下来。下一次请求,直接访问私有副本即可。


image.png

1.8.3 网关
网关是一种特殊的服务器,作为其他服务器中间实体使用。通常将http流量转换成其他协议。网关接收请求时,就好像自己是资源的源端服务器一样。客户端并不知道自己正在与一个网关进行通信。
如:


image.png

通过http/ftp 网关,将http 转换为ftp

1.8.4 隧道
隧道是建立起来之后,就会在两条连接之间对原始数据进行盲转发的http应用程序。http隧道通常用在一条活多条http连接上,转发非http数据。转发时不会窥探数据。


隧道.png

http/ssl 隧道收到一条http请求,要求建立一条道目的地址和端口的输出连接,然后在http信道上通过隧道传输加密的ssl流量。这样就可以将其盲转发道目的服务器上

1.8.5 Agent 代理
web 浏览器是一种http agent 代理。
还有一些自己会在web上闲逛的自动用户Agent 代理,可以在无人监视的情况下,发布http事务,获取内容。网络爬虫。


image.png
上一篇 下一篇

猜你喜欢

热点阅读