《HTTP权威指南》学习笔记——HTTP概述
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概述的更多相关文章
- HTTP权威指南-学习笔记
目录 HTTP权威指南-学习笔记 HTTP: Web的基础 URL与资源 HTTP报文 连接管理 HTTP结构 Web服务器 代理 缓存 集成点: 网关,隧道及中继 Web机器人 识别,认证与安全 客 ...
- JavaScript 权威指南-学习笔记(一)
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! ## JavaScript 权威指南-学 ...
- CSS权威指南学习笔记系列(1)CSS和文档
题外话:HTML是一种结构化语言,而CSS是它的补充:这是一种样式语言.CSS是前端三板斧之一,因此学习CSS很重要.而我还是菜鸟,所以需要加强学习CSS.这个是我学习CSS权威指南的笔记,如有不对, ...
- Hadoop权威指南学习笔记二
MapReduce简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.n ...
- Hadoop权威指南学习笔记一
Hadoop简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出.一起学习一起进步. 转载请注明:http://blog.csdn.net/ ...
- Hadoop权威指南学习笔记三
HDFS简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考.有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my ...
- IDA Pro权威指南学习笔记(一)
一直不懂逆向,最近刚好不忙,于是学习逆向,用来做笔记,顺便和大家分享交流. 参考书籍<IAD PRO权威指南> 工具: PETools: ETools 是另一款很好的PE文件编辑工具,以前 ...
- css权威指南学习笔记 —— css选择器
1,选择器:选择器的一些基本常用规则基本都记得,w3c上都有,平时也常用,不常用的一些后代选择器经常就忘记了.一些归纳一下后代选择器,加深一下印象: a:子选择器: p>a a是直接是p的 ...
- maven权威指南学习笔记(五)—— POM
1. 简介 Archetype插件通过 pom.xml 文件创建了一个项目.这就是项目对象模型 (POM),一个项目的声明性描述. 当Maven运行一个目标的时候,每个目标都会访问定 义在项目POM里 ...
- maven权威指南学习笔记(三)——一个简单的maven项目
目标: 对构建生命周期 (build lifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project O ...
随机推荐
- (转载)WPF中的动画——(一)基本概念
http://www.cnblogs.com/TianFang/p/4050845.html WPF的一个特点就是支持动画,我们可以非常容易的实现漂亮大方的界面.首先,我们来复习一下动画的基本概念.计 ...
- Vagrant (3) —— 复制/备份Vagrant Box
Vagrant (3) -- 复制/备份Vagrant Box 摘要 介绍复制/备份Vagrant Box基本方法 版本 Vagrant版本: 1.8.1 内容 复制vagrant box并压缩 关闭 ...
- 软件开发常用的linux命令心得
软件开发过程中难免要经常对主机进行配置或者部署等操作,想到一些就写一些了,以后再更新 解压命令: a.如果是tar文件,则直接用 “tar zxvf 文件名”: b.如果是zip文件,用 “unzip ...
- 【基础练习】【区间DP】codevs1090 加分二叉树题解
2003 NOIP TG 题目描写叙述 Description 设一个n个节点的二叉树tree的中序遍历为(l,2,3,-,n),当中数字1,2,3,-,n为节点编号.每一个节点都有一个分数(均为正整 ...
- Spring Cloud Config 自动刷新所有节点
全局刷新 详细参考:<Sprin Cloud 与 Docker 微服务架构实战>p160-9.9.2节 1.使用Spring Cloud Config 客户端时,可以使用 /refresh ...
- webRTC源码下载 Windows Mac(iOS) Linux(Android)全
webRTC源码下载地址:https://pan.baidu.com/s/18CjClvAuz3B9oF33ngbJIw 提取码:wl1e Windows版:visual studio 2017工 ...
- easyui datagrid设置fit: true后,页面显示不全的情况
跟工具栏有关 <div id="tb"> <div style="float:left;"> <a href="#&qu ...
- R-table和tapply函数
table可统计数据的频数 tapply可根据因子.向量和要计算的函数计算 > class<-c(1,2,3,2,1,2,1,3) > class[1] 1 2 3 > c(8 ...
- sparkR集群启动脚本的封装。
sparkR默认是以单机方式运行的.实现sparkR的集群启动,需要指定master地址,占用内存.CPU,及UI端口等,这对分析人员来说是比较麻烦的. 如何实现对其启动的封装,方便分析人员来使用: ...
- 10、QT分析之WebKit
该文章整理自 网易博客 http://blog.163.com/net_worm/blog/static/12770241920101831312381/ 转载请注明出处 WebKit是QT4新整合的 ...