专栏名称: Carson_Ho
走在产品路上的Android研究生
目录
相关文章推荐
开发者全社区  ·  迪丽热巴 ·  昨天  
开发者全社区  ·  大佬总爱找空姐 ·  昨天  
开发者全社区  ·  和导师外出,他牵我手了... ·  2 天前  
开发者全社区  ·  汪小菲大骂周受资? ·  3 天前  
开发者全社区  ·  程序员现在是个高危职业 ·  3 天前  
51好读  ›  专栏  ›  Carson_Ho

计算机网络基础:这是一份详细 HTTP 学习指南

Carson_Ho  · 掘金  · android  · 2018-08-27 01:27

正文

前言

  • 关于计算机网络, HTTP 网络通信协议在任何的开发工作中都非常重要
  • 今天,我将献上一份 HTTP 的学习指南,希望你们会喜欢

目录

示意图


1. 储备知识

讲解 HTPP 协议前,先了解一些基础的计算机网络相关知识

1.1 计算机网络体系结构

  • 定义 计算机网络的各层 + 其协议的集合

  • 作用 定义该计算机网络的所能完成的功能

  • 结构介绍
    计算机网络体系结构分为3种: OSI 体系结构、 TCP / IP 体系结构、五层体系结构

    • OSI 体系结构:概念清楚 & 理念完整,但复杂 & 不实用
    • TCP / IP 体系结构:含了一系列构成互联网基础的网络协议,是 Internet 的核心协议 & 被广泛应用于局域网 和 广域网
    • 五层体系结构:融合了 OSI TCP / IP 的体系结构,目的是为了学习 & 讲解计算机原理

示意图

  • TCP / IP 的体系结构详细介绍
    由于 TCP / IP 体系结构较为广泛,故主要讲解
    示意图

1.2 HTTP 协议通信的基础模型

  • HTTP 协议传输信息的基础: TCP/IP 协议模型
    示意图

  • HTTP 协议 属于 最高层的应用层


2. 简介

下面,将简单介绍一下 HTTP

示意图


3. 工作方式

  • HTTP 协议采用 请求 / 响应 的工作方式
  • 具体工作流程如下:

示意图


4. HTTP报文详解

  • HTTP 在 应用层 交互数据的方式 = 报文
  • HTTP 的报文分为:请求报文 & 响应报文
    分别用于 发送请求 & 响应请求时
  • 下面,将详细介绍这2种报文

4.1 请求报文

4.1.1 报文结构

  • HTTP 的请求报文由 请求行、请求头 & 请求体 组成,如下图

示意图

  • 下面,将详细介绍每个组成部分

4.1.2 结构详细介绍

组成1:请求行
  • 作用 声明 请求方法 、主机域名、资源路径 & 协议版本

  • 结构 请求行的组成 = 请求方法 + 请求路径 + 协议版本

    注:空格不能省

请求行的组成

  • 组成介绍

示意图

此处特意说明GET、PSOT方法的区别:

示意图

则 请求行是: GET /chn/yxsz/index.htm HTTP/1.1

组成2:请求头
  • 作用:声明 客户端、服务器 / 报文的部分信息
  • 使用方式:采用 ”header(字段名):value(值)“ 的方式
  • 常用请求头
    1. 请求和响应报文的通用Header

请求和响应报文的通用Header

2. 常见请求Header

常见请求Header

  • 举例:
    (URL地址: www.tsinghua.edu.cn/chn/yxsz/in…
    Host:www.tsinghua.edu.cn (表示主机域名)
    User - Agent:Mozilla/5.0 (表示用户代理是使用Netscape浏览器)
组成3:请求体
  • 作用:存放 需发送给服务器的数据信息

    可选部分,如 GET请求 就无请求数据

  • 使用方式:共3种

示意图

至此,关于请求报文的请求行、请求头、请求体 均讲解完毕。

4.1.3 总结

  • 关于 请求报文的总结如下

示意图

  • 请求报文示例

示意图

4.2 HTTP响应报文

4.2.1 报文结构

  • HTTP 的响应报文包括:状态行、响应头 & 响应体

示意图

  • 其中,响应头、响应体 与请求报文的请求头、请求体类似
  • 这2种报文最大的不同在于 状态行 & 请求行

下面,将详细介绍每个组成部分

4.2.2 结构详细介绍

组成1:状态行

  • 作用
    声明 协议版本,状态码,状态码描述
  • 组成
    状态行有协议版本、状态码 &状态信息组成

    其中,空格不能省


状态行组成
  • 具体介绍
    示意图

  • 状态行 示例
    HTTP/1.1 202 Accepted (接受)、 HTTP/1.1 404 Not Found (找不到)

组成2:响应头

  • 作用:声明客户端、服务器 / 报文的部分信息
  • 使用方式:采用 ”header(字段名):value(值)“ 的方式
  • 常用请求头
    1. 请求和响应报文的通用Header

请求和响应报文的通用Header







请到「今天看啥」查看全文


推荐文章
开发者全社区  ·  迪丽热巴
昨天
开发者全社区  ·  大佬总爱找空姐
昨天
开发者全社区  ·  和导师外出,他牵我手了...
2 天前
开发者全社区  ·  汪小菲大骂周受资?
3 天前
开发者全社区  ·  程序员现在是个高危职业
3 天前
灼见  ·  字写得好是怎样一种体验?
7 年前
台海军事热点  ·  明星惊天收入曝光,国家终于动手!
7 年前
新东方在线  ·  遇见的所有人里我最喜欢你
7 年前