第三章

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. 病毒Virus

    病毒Virus 一本通P1396 病毒Virus 题目简述 给定\(k\)个被病毒感染了的字符串,知道这\(k\)个字符串原本是按字典序从小到大排列,最后给出一个待复原的字符串\(s\),要求根据上面 ...

  2. python基础--自定义模块、import、from......import......

    自定义模块.import.from......import...... 1)模块的定义和分类 1.模块是什么? 我们知道一个函数封装了一个功能,软件可能是有多个函数组成的.我们说一个函数就是一个功能, ...

  3. linux系统配置常用命令top

    本人测试系统:centos7 命令名称:top Linux top命令用于实时显示 process 的动态. 参数:-b 批处理 -c 显示完整的治命令 -I 忽略失效过程 -s 保密模式 -S 累积 ...

  4. SQLserver-MySQL的区别和用法

    对于程序开发人员而言,目前使用最流行的两种后台数据库即为MySQL and SQL Server.这两者最基本的相似之处在于数据存储和属于查询系统.你可以使用SQL来访问这两种数据库的数据,因为它们都 ...

  5. python实现二维码、条形码识别

    环境: python 3.7 Win7 依赖包安装: pip install pillow pip install opencv-python pip install opencv-contrib-p ...

  6. VSCode, 当今最流行的免费开源代码编辑器,微软出品,必属精品

    什么是VSCode? Visual Studio Code是一个轻量级但功能强大的源代码编辑器,可在您的桌面上运行,并且可用于Windows,macOS和Linux.它内置了对JavaScript,T ...

  7. 使用eval将字符串转化成字典时报name 'null' is not defined错误解决办法

    在接口测试过程中,为了取值将形如字典形式的字符串使用eval()方法转化成字典方便取值 str={"code":100,"num":1,"data&q ...

  8. 08-Python面对对象进阶

    一.面向对象编程三大特征 Python是面向对象的语言,同样支持面向对象的编程的三大特征:继承,封装,多态. 封装是指隐藏对象的属性和实现细节,只对外提供必要的一些方法,私有属性,私有方法是实现封装地 ...

  9. JSON基础使用详解

    JSON:JavaScript对象表示法 1.1 JSON说明 曾经一段时间,XML是互联网传递数据的统一标准,但是业界一直不乏质疑XML的人士,他们都认为XML过于繁琐,冗长:提取数据也过于麻烦 2 ...

  10. mysql间隙锁

    什么是间隙锁(gap lock)? 间隙锁是一个在索引记录之间的间隙上的锁. 间隙锁的作用? 保证某个间隙内的数据在锁定情况下不会发生任何变化.比如我mysql默认隔离级别下的可重复读(RR). 当使 ...