1.HTTP——因特网的多媒体信使

HTTP使用的是可靠的数据传输协议,能确保数据在传输过程中不会损坏或混乱。

2.Web客户端和服务器

Web服务器(HTTP服务器)根据客户端的请求返回服务端的数据。(动态/静态资源,有着不同的格式)

2.1媒体类型

HTTP给Web传输的对象使用MIME类型区分数据格式。

MIME类型是一种文本标记。

格式:主要的对象类型/特定的子类型

  • HTML:text/html
  • 普通的ASCII文本:text/plain
  • JPEG图片:image/jpeg
  • gif:image/gif

2.2URI

服务器资源名:统一资源标识符(Uniform Resource Identifier,URI)---->网上的邮政地址,在世界范围内唯一标识并定位信息资源

URI有两种形式:URL和URN

2.3URL

统一资源定位符(URL)--->描述一台特定服务器上某资源的特定位置。说明如何从一个精确、固定的位置获取资源。

URL的格式:方案+地址+资源

方案:scheme,URL的第一部分,图中的HTTPS协议
地址:服务器的因特网地址
资源:Web服务器上的某个资源

3.事务

HTTP事务=请求命令+响应结果(通过HTTP报文的格式化数据块进行的)

3.1方法

HTTP方法:不同的请求命令,告诉服务器要执行的动作。

GET,PUT,DELETE,POST,HEAD

3.2状态码

HTTP报文返回携带一个状态码,三位数字的代码。

除了三位数字状态码,还会发送一条解释性的原因短语文本。

4.报文

由字符串组成,是纯文本

HTTP报文分为三部分:起始行+首部字段+主体

5.连接

5.1TCP/IP

TCP提供:

  • 无差错的数据传输
  • 按序传输
  • 未分段的数据流

5.2连接,IP地址及端口号

HTTP客户端向服务器发送报文之前,需用IP地址和端口号在客户端和服务器之间建立一条TCP/IP连接
(类似于给公司办公室某个人打电话---------先拨公司号码(IP地址),再拨分机号(端口号))

使用Telnet

Telnet可将键盘连接到某个目标TCP端口。并将TCP端口的输出返回到显示屏上。用于远程终端会话

6.协议版本

HTTP协议有几个版本
HTTP/0.9 HTTP/1.0 HTTP/1.1 HTTP/2.0

7.Web的结构组件

  • 代理 客户端和服务器之间的HTTP中间实体
  • 缓存 HTTP的仓库,保存常用页面的副本到离客户端近的地方
  • 网关 连接其他应用程序的特殊Web服务器
  • 隧道 对HTTP通信报文进行盲转发的特殊代理
  • Agent代理 发起自动HTTP请求的半智能Web客户端

7.1代理

接收并转发客户端的HTTP请求到服务器(可能会修改后转发)

应用程序就是一个代理,代表用户访问服务器

7.2缓存

Web缓存(Web cache)/代理缓存(proxy cache)----->一种特殊的HTTP代理服务器

7.3网关

网关(gateway):特殊的服务器,作为其他服务器的中间实体使用。

用于HTTP流量转换其他的协议。

7.4隧道

隧道(tunnel):两条连接之间对原始数据进行盲转发的HTTP应用程序

HTTP隧道的常见用途:HTTPS连接(HTTP连接承载加密的SSL流量)

7.5Agent代理

代表用户发起HTTP连接的客户端程序

爬虫就是一种自动用户Agent代理

《HTTP权威指南》学习笔记——HTTP概述的更多相关文章

  1. HTTP权威指南-学习笔记

    目录 HTTP权威指南-学习笔记 HTTP: Web的基础 URL与资源 HTTP报文 连接管理 HTTP结构 Web服务器 代理 缓存 集成点: 网关,隧道及中继 Web机器人 识别,认证与安全 客 ...

  2. JavaScript 权威指南-学习笔记(一)

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! ## JavaScript 权威指南-学 ...

  3. CSS权威指南学习笔记系列(1)CSS和文档

    题外话:HTML是一种结构化语言,而CSS是它的补充:这是一种样式语言.CSS是前端三板斧之一,因此学习CSS很重要.而我还是菜鸟,所以需要加强学习CSS.这个是我学习CSS权威指南的笔记,如有不对, ...

  4. Hadoop权威指南学习笔记二

    MapReduce简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.n ...

  5. Hadoop权威指南学习笔记一

    Hadoop简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出.一起学习一起进步. 转载请注明:http://blog.csdn.net/ ...

  6. Hadoop权威指南学习笔记三

    HDFS简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考.有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my ...

  7. IDA Pro权威指南学习笔记(一)

    一直不懂逆向,最近刚好不忙,于是学习逆向,用来做笔记,顺便和大家分享交流. 参考书籍<IAD PRO权威指南> 工具: PETools: ETools 是另一款很好的PE文件编辑工具,以前 ...

  8. css权威指南学习笔记 —— css选择器

    1,选择器:选择器的一些基本常用规则基本都记得,w3c上都有,平时也常用,不常用的一些后代选择器经常就忘记了.一些归纳一下后代选择器,加深一下印象: a:子选择器:   p>a  a是直接是p的 ...

  9. maven权威指南学习笔记(五)—— POM

    1. 简介 Archetype插件通过 pom.xml 文件创建了一个项目.这就是项目对象模型 (POM),一个项目的声明性描述. 当Maven运行一个目标的时候,每个目标都会访问定 义在项目POM里 ...

  10. maven权威指南学习笔记(三)——一个简单的maven项目

    目标: 对构建生命周期 (build  lifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project O ...

随机推荐

  1. [wdt]watchdog

    board/ti/am335x/board.c board/ti/am43xx/board.c driver/watchdog/omap_wdt.c include/configs/am43xx_ev ...

  2. Android训练课程(Android Training) - 添加活动栏(使用action bar)

    2014-10-28 张云飞VIR 翻译自:https://developer.android.com/training/basics/actionbar/index.html 添加活动栏(Addin ...

  3. JavaScript:属性的操作

    一.属性的设置和获取 1.属性的设置和获取主要有两种方式: <!DOCTYPE html> <html lang="en"> <head> &l ...

  4. CSS(八):定位属性

    一.position属性 1.relative(相对定位) 相对它原来的位置,通过指定偏移,到达新的位置. 扔在标准流中,它对父级盒子和相邻的盒子都没有任何影响. 看下面的例子: <!DOCTY ...

  5. R语言学习笔记 (入门知识)

    R免费使用:统计工具:# 注释,行注释块注释:anything="这是注释的内容"常用R语言编辑器:Rsutdio,Tinn-R,Eclipse+StatET:中文会有乱码帮助:? ...

  6. css控制固定表头,兼容行列合并

    项目中设计的报表table设计的列数相对过多,当拖动下方的滚动条时无法对应表头所对应的列,因此在网上搜索了好一段日子,最后在网上找到了一些参考资料,然后总结归纳出兼容行列合并的固定表头demo. 多浏 ...

  7. [maven] 项目不同环境自动打包

    应用背景 项目需要发布到本地环境,测试环境和生产环境甚至不同的生产环境上.这时候配置文件的一些参数需要被频繁的修改来修改去.为了解决这样的繁琐工作,就得使用maven profile特性. 步骤 1. ...

  8. 很简单的在Ubuntu系统下安装字体和切换默认字体的方法

    摘要: Ubuntu系统安装好后,默认字体对于中文的支持看上去不太美丽,于是很多朋友可能需要设置系统的默认字体为自己喜欢的字体.本文主要介绍如何解决这两个问题. 说明:测试系统是Ubuntu14.04 ...

  9. Oracle 11g 数据库 shutdown 后立即执行 startup mount 报错的解决办法

    最新文章:Virson's Blog 今天在配置Goldengate时Capture进程提示未开启归档日志,然后立即用sys用户登录orcl数据库,然后执行了“shutdown immediate”命 ...

  10. C语言实现Linux下删除非空目录

    #include <sys/stat.h> #include <dirent.h> #include <fcntl.h> /** * 递归删除目录(删除该目录以及该 ...