http资料整理

了解web及网络基础

1.7 URI和URL

  • URI:Uniform Resource Identifier,同一资源标识符,表示某一互联网资源
  • URL:表示资源的地点,URL是URI的子集

URI格式:

http://user:pass@www.example.com:80/index.php/home/index/index.html?uid=1#ch1

  • http:协议
  • user:pass:登录信息(认证)
  • www.example.com:服务器地址,在CDN处转换成ip形式
  • 80:服务器端口号
  • index.php/index/index.html:带层次的文件路径,不一定是真实的文件路径
  • ?uid=1:传递参数
  • #ch1:网页的锚点

简单HTTP协议

2.5 告知服务器意图的HTTP方法

  • GET
  • POST
  • PUT:用来传输文件,但是由于本身不对文件进行验证,需要人为编写程序进行验证,所以用情况比较少
  • HEAD:与GET一样,只是不需要服务器返回报文主体
  • DELETE
  • OPTIONS:询问服务器支持的HTTP方法
  • TRACE:追踪经过的代理服务器,一般服务器不开放该方法
  • CONNECT:要求用隧道协议(SSL和TLS)连接代理

HTTP报文内的HTTP信息

3.2 请求报文及响应报文的结构

请求报文

  • 报文首部
  • 空行(CR+LF)
  • 报文主体

响应报文

  • 报文首部
  • 空行(CR+LF)
  • 报文主体

请求报文首部

  • 请求行
  • 请求首部字段
  • 通用首部字段
  • 实体首部字段
  • 其他

响应报文首部

  • 状态行
  • 响应首部字段
  • 通用首部字段
  • 实体首部字段
  • 其他

表1 通用首部字段

首部字段名 说明
Cache-Control
Connection
Date
Pragma 报文指令
Tailer 报文末端的首部一览
Transfer-Encoding 指定报文主体的传输编码方式
Upgrade 升级为其他协议
Via 代理服务器的相关信息
Warning

表2 请求首部字段

首部字段名 说明
Accept 用户代理可以处理的媒体类型
Accept-Charset
Accept-Encoding
Accept-Language
Authorization Web认证信息
Expect 期待服务器的特定行为
From 用户的电子邮箱地址
Host 请求资源所在的服务器
If-Match 比较实体标记(ETag)
If-Modified-Since 比较资源的更新时间
If-None-Match 比较实体标记
If-Range 资源未更新时发送实体Byte的范围请求
If-Unmodified-Since 比较资源的更新时间
Max-Forwards 最大经过的代理服务器数量
Proxy-Authorization 代理服务器要求客户端的认证信息
Range 实体的字节范围请求
Referer 对请求中URI的原始获取方,就是该请求发往的目的地
TE 传输编码的优先级
User-Agent HTTP客户端程序的信息

表3 响应首部字段

首部字段名 说明
Accept-Ranges 是否接受字节范围请求
Age 推算资源创建经过的时间,就是资源的存在时间
ETag 资源的匹配信息
Location 令客户端重定向至指定URI
Proxy-Authenticate 代理服务器对客户端的认证信息
Retry-After 对再次发起请求的时机要求
Server HTTP服务器的安装信息
Vary 代理服务器缓存的管理信息
WWW-Authenticate 服务器对客户端的认证信息

表4 实体首部字段

|首部字段名|说明|
|Allow|资源可支持的HTTP方法|
|Content-Encoding||
|Content-Language||
|Content-Length||
|Content-Location||
|Content-MD5||
|Content-Range||
|Content-Type||
|Expires||
|Last-Modified||

别的首部信息

  • End-to-end首部

分在此类别中的首部会转发给请求/响应对应的最终接收目标,且必须保存在由缓存生成的响应中,另外规定它必须被转发。

  • Hop-by-hop首部

分在此类别中的首部只对单次转发有效,会因为通过缓存或代理而不再转发。

Hop-by-hop首部列表

  • Connection
  • keep-Alive
  • Proxy-Authenticate
  • Proxy-Authenzation
  • Trailer
  • TE
  • Transfer-Encoding
  • Upgrade

3.3 编码提升传输速率

3.3.2 压缩传输的内容编码

常用的内容编码有以下几种:

  • gzip
  • compress(UNIX系统的标准压缩)
  • deflate
  • identify(不进行编码)

3.4 发送多种数据的多部分对象集合

采用MIME机制,使HTTP的表单能传输多类型实体。

多部分对象集合包含的对象如下:

  • multipart/form-data

在web文件表单上传时使用

  • multipart/byteranges

使用**boundary=”THIS_STRING_SEPARATES”来进行设置多部分对象集合时进行划分的字符串。

–THIS_STRING_SEPARATES
Content-Type:application/pdf
Content-Range:byte 500-900/8000
–THIS_STRING_SEPARATES
Content-Type:application/pdf
Content-Range:byte 911-1000/8000
–THIS_STRING_SEPARATES–

返回结果的HTTP状态码

类型 原因短语
1xx Informational
2xx Success
3xx Redirection
4xx Client Error
5xx Server Error

200 OK

204 No Content

206 Partial Content

请求资源的其中一部分。

301 Moved Permanently

302 Found

303 See Other

304 Not Modified

根据URI已经找到资源,但是没有符合搜索条件的资源。

307 Temporary Redirect

400 Bad Request

401 Unauthorized

403 Forbidden

404 Not Found

500 Internet Server Error

服务器程序故障。

503 Service Unavailable

《图解HTTP》摘记相关推荐

  1. 《变量:大国的腾挪》摘记

    目录 一.前言 二.摘记 三.小感 一.前言 不知不觉六月份了,六一儿童节,可能就是在提醒我们,不管几岁,童心万岁.跌跌撞撞的长大,不经意可能我们就丢失了孩童时拥有的真我.永葆童心,简单点,单纯点,即 ...

  2. 变量4 大国的腾挪 何帆

    1. 如果有个问题你实在解决不了,那可能你问的问题是错的. 2.疫情之下中国低收入家庭的收入及财富恢复情况落后于全社会,而高收入家庭的财富和收入持续增长,二者的差距在加大. 3.如果人生是一个函数,那 ...

  3. 《变量》阅读笔记作文4500字

    <变量>阅读笔记作文4500字: 作者说从2018年起,他将每年写一本书,一共写30年,讲述我们这个时代的中国故事.还说如果因为健康问题,他写不动了或写不完了,剩下的工作将由他指定的接班人 ...

  4. 《2021多多阅读报告》发布,95后、00后图书消费潜力攀升,大学生群体拼单量同比增长387%...

    "愿每一个爱书的人,无惧白发苍苍,永葆少年心气." 4月21日,新电商平台拼多多发布<2021多多阅读报告>(以下简称"报告").报告基于2021年 ...

  5. 《2021多多阅读报告》发布,图书拼单量第一竟是这个省

    "愿每一个爱书的人,无惧白发苍苍,永葆少年心气." 4月21日,新电商平台拼多多发布<2021多多阅读报告>(以下简称"报告").报告基于2021年 ...

  6. 《2021多多阅读报告》发布,95后、00后图书消费潜力攀升

    "愿每一个爱书的人,无惧白发苍苍,永葆少年心气." 4月21日,新电商平台拼多多发布<2021多多阅读报告>(以下简称"报告").报告基于2021年 ...

  7. 力扣232-用栈实现队列(C++,附思路)

    二刷过了才敢过来写- 第一遍是真不会. 思路: 首先这个题的意思是只能用栈,所以不考虑用数组了. 栈是只能知道最后一个进栈的元素,而且没有迭代器可以访问内部元素:而队列相反,是只能知道头部的元素.所以 ...

  8. C++11_学习笔记

    Vector(std::initializer_list<double>)  //{1.2,12.3,111.2} 关键字virtual的意思是可能随后在其派生类中重新定义:含有纯虚函数的 ...

  9. 矩阵学习摘记,欢迎指正

    矩阵乘法学习摘记 ​ --JZYshuraK 18.4.8 http://www.matrix67.com/blog/archives/276 例题1 ​ 为什么一定要将本来只有两维的点设为一个\(1 ...

  10. java 清空stringbuffer_JAVA中清空StringBuffer变量

    一直使用new来清空,刚度娘了下,结合几个文章内容摘记一下. 几种方法:方法1:StringBuffer my_StringBuffer = new StringBuffer(); my_String ...

最新文章

  1. 最小邮票数(01背包)
  2. 这12大管理原则,经营者必知
  3. 若不能连接到sql server的localhost
  4. matlab中ncread读取nc文件其中一个三维参数的其中一维_Matlab使用技巧总结-1
  5. 微信小程序之验证码短信倒计时
  6. 面向程序员的GPGPU技术系列(1) 为什么要理解GPU体系结构?
  7. c语言5-34答案,C语言答案第5章.doc
  8. 垃圾邮件过滤技术发展现状及展望
  9. 西北师范大学计算机科学与工程学院导师,西北师范大学计算机科学与工程学院导师简介-陈旺虎...
  10. python 分析qq聊天记录
  11. scrapy下载图片(《精通scrapy网络爬虫》第九章)
  12. HTML meta 标签的使用方式总结(本文总结17中使用方式)
  13. HTTP GET 请求在请求体中带参数的问题
  14. 浙大超厉害计算机硕士生导师
  15. 地表最强超融合 | 揭开VxRail“隐秘的角落”
  16. linux定时任务每两天,linux定时任务
  17. 华为机器学习服务语音识别功能,让应用绘“声”绘色
  18. FXCM福汇官网 fx-aisa.com外汇交易中,你必须了解的八种主流货币知识
  19. 互联网应用的架构演变之路
  20. 什么是BSD开源协议

热门文章

  1. CPM-main 部署实践 AI生成小说3
  2. 【洛谷】P2708 硬币翻转(配数学证明)
  3. 如何在PlayStation 4上启用家长控制
  4. 利用Android Studio快速发布开源项目到Jcenter
  5. USB接口 在单片机读写U盘 项目中的应用
  6. 6 寻找比目标字母大的最小字母
  7. Windows10重置网络设置
  8. 工控安全入门之工业设备PLC
  9. C语言:凯撒密码的实现
  10. 【小盐巴学习笔记】—美团吃饭哪家强?Python词云分析告诉你