第三章

HTTP报文内的HTTP信息

1.用于http协议交互的信息被称为HTTP报文。请求端(客户端)的HTTP报文叫做请求报文,响应端(服务器端 )的叫做响应报文。

2.请求报文的结构

  请求行:包含用于请求的方法,请求URI和HTTP版本。

  首部字段:包含表示请求和响应的各种条件和属性的各类首部。一般有4种,分别是:通用首部,请求首部和实体首部 。

  其他:可能包含HTTP的RFC里未定义的首部(Cookie等)

  报文主体。

3.HTTP可以在传输中通过编码来提升传输速率,但是编码需要计算机来完成,因此会消耗更多的CPU等资源。

4.报文(message):是HTTP通信的基本单位,由8为组字节流组成,通过HTTP通信传输。

实体(entity):作为请求或响应的有效载荷数据(补充项)被传输,其内容由实体首部和实体主体组成

第四章

返回结果的HTTP状态码

1.状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果

2.状态码的类别

  1xx    information(信息性状态码)  接收的请求正在处理

  2xx success(成功状态码)    请求正常处理完毕

200(OK):表示请求已正常处理

204(NO CONTENT):请求处理成功,但是没有资源可以返回。

206(Partial Content):只对资源某一部分的请求。

  3xx redirection(重定向状态码)  需要进行附加操作以完成请求

  4xx  client error(客户端错误状态码)服务器无法处理请求

400(Bad Request):请求报文中存在语法错误。

401(Unauthorized):表示发送的请求需要有通过HTTP认证的认证信息。

403(Forbidden):不允许访问那个资源。

404(Not Found):表明服务器上无法找到请求的资源。

  5xx  server error(服务器错误状态码)服务器处理请求出错

500(Internal Server Error):临时的故障

503(Service Unavailable):服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。

第五章

与HTTP协作的Web服务器

1.通信数据转发程序:代理、网关、隧道。

2.代理:代理是一种有转发功能的应用程序,它扮演了位于服务器和客户端“中间人”的角色,接受由客户端发送的请求并转发给服务器,同时也接受服务器返回的响应并转发给客户端。

3.网关:网关是转发其他服务器通信数据的服务器,接受从客户端发送来的请求时,它就像自己拥有资源的资源服务器一样对请求进行处理。

4.隧道:隧道是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序。

第六章

HTTP首部

1.HTTP协议的请求和响应报文中必定包含HTTP首部

2.HTTP报文的结构:报文首部(在客户端和服务器处理时起至关重要作用的信息几乎都在这边),报文主体(所需要的用户和资源的信息都在这边)

3.HTTP请求报文,由方法、URI、HTTP版本、HTTP首部字段等部分构成。

4.4种首部字段的类型

通用首部字段(General Header Fields):请求报文和响应报文两方都会使用的首部。

请求首部字段(Request Header Fields):丛客户端向服务端发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息。

响应首部字段(Response Header Fields):从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会要求客户端附加额外的内容信息。

实体首部字段(Enity Header Fields):针对请求报文和响应报文的实体部分使用的首部。补充了资源内容,更新时间等与实体有关的信息。

5.非HTTP协议中,还有Cookie,Set-Cookie和Content-Disposition等。

6.外加很多具体的字段。

图解HTTP 6/11的更多相关文章

  1. 图解HTTP 2/11

    第一章 了解Web及网络基础 *HTTP(HyperText Transfer Protocal, 超文本传输协议),可以说,Web是建立在HTTP协议上通信的. *3项WWW(World Wide ...

  2. Qt5.7学习

    一 Qt简介(Build your world with Qt) 二 Qt5.7.0的安装 三 Qt系统构造库及常用类 四 信号(signal)与槽(slot)通信机制 五 QtDesigner开发工 ...

  3. 大数据技术之_16_Scala学习_08_数据结构(下)-集合操作+模式匹配

    第十一章 数据结构(下)-集合操作11.1 集合元素的映射-map11.1.1 map 映射函数的操作11.1.2 高阶函数基本使用案例1+案例211.1.3 使用 map 映射函数来解决11.1.4 ...

  4. js中排序方法sort() 和 reverse()

    reverse() 作用:反转原数组. 用法: array.reverse(); 图解: sort() 作用:对原数组进行排序.默认将每个数组项 先 转换为字符串 再 进行字符串对比后升序排序. 用法 ...

  5. Java教程-修炼

    在2020这个特殊的时期,在家就是为国家做贡献!一切都会好起来的,加油中国!! Java 第一章 Java概述 1.1 Java历史 1.2 Java语言最主要的特点 1.3 Java环境搭建 1.3 ...

  6. 自学Java第五章——《面向对象的基本特征》

    面向对象的基本特征: 1.封装 2.继承 3.多态 6.1 封装 1.好处: (1)隐藏实现细节,方便使用者使用 (2)安全,可以控制可见范围 2.如何实现封装? 通过权限修饰符 面试题:请按照可见范 ...

  7. AI 音辨世界:艺术小白的我,靠这个AI模型,速识音乐流派选择音乐 ⛵

    作者:韩信子@ShowMeAI 数据分析实战系列:https://www.showmeai.tech/tutorials/40 机器学习实战系列:https://www.showmeai.tech/t ...

  8. 地区sql

    /*Navicat MySQL Data Transfer Source Server : localhostSource Server Version : 50136Source Host : lo ...

  9. (转) 干货 | 图解LSTM神经网络架构及其11种变体(附论文)

    干货 | 图解LSTM神经网络架构及其11种变体(附论文) 2016-10-02 机器之心 选自FastML 作者:Zygmunt Z. 机器之心编译  参与:老红.李亚洲 就像雨季后非洲大草原许多野 ...

随机推荐

  1. 前端走进机器学习生态,在 Node.js 中使用 Python

    这次给大家带来一个好东西,它的主要用途就是能让大家在 Node.js 中使用 Python 的接口和函数.可能你看到这里会好奇,会疑惑,会不解,我 Node.js 大法那么好,干嘛要用 Python ...

  2. vim中设置tab的长度

  3. Kubernetes实战总结 - Ingress选型与应用

    一.概述 Ingress 是对集群中服务的外部访问进行管理的 API 对象,可以提供负载均衡.SSL 终结和基于名称的虚拟托管. 典型的访问方式是 HTTP,用于将不同URL的访问请求转发到后端不同的 ...

  4. Java多线程可重入锁例子解析

    “可重入锁”的概念是:自己可以再次获得自己的内部锁.比如有一条线程获得了某个对象的锁,此时这个对象还没有释放,当其再次想获得这个对象的锁的时候还是可以获得的,如果不可锁重入的话,就会造成死锁. cla ...

  5. 区间DP之凸多边形的三角剖分

    题目 给定一具有N个顶点(从1到N编号)的凸多边形,每个顶点的权均已知.问如何把这个凸多边形划分成N-2个互不相交的三角形,使得这些三角形顶点的权的乘积之和最小? 输入 第一行 顶点数N(N<5 ...

  6. [NOI2003]逃学的小孩 (贪心+树的直径+暴力枚举)

    Input 第一行是两个整数N(3 <= N <= 200000)和M,分别表示居住点总数和街道总数.以下M行,每行给出一条街道的信息.第i+1行包含整数Ui.Vi.Ti(1<=Ui ...

  7. 底层剖析 Window 、Activity、 View 三者关系

    不管工作几年的 Android 工程师,或多或少都听说过 Window 的概念,并且隐隐约约感觉它在 Activity 与 View 之间应该发挥着某种连接的作用.但是如果需要说出这 3 者之间的关系 ...

  8. SimpleImputer 中fit和transform方法的简介

    sklearn.impute.SimpleImputer 中fit和transform方法的简介 SimpleImputer 简介 通过SimpleImputer ,可以将现实数据中缺失的值通过同一列 ...

  9. (六)pandas 日常使用技巧

    pandas数据处理 1.删除重复元素 import numpy as np import pandas as pd from pandas import Series,DataFrame df = ...

  10. Scala 面向对象(十三):隐式转换和隐式参数

    隐式转换的实际需要=>指定某些数据类型的相互转化 1 隐式函数基本介绍 隐式转换函数是以implicit关键字声明的带有单个参数的函数.这种函数将会自动应用,将值从一种类型转换为另一种类型 隐式 ...