《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://www.cnblogs.com/JohnTsai/p/5180593.html

时间: 2024-08-24 10:25:06

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

javascript权威指南 学习笔记之javascript数据类型_javascript技巧

复制代码 代码如下: <!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>javascript数据类型</title> </head> <body> <script type="text/javasc

javascript权威指南 学习笔记之变量作用域分享_javascript技巧

不知道,大家对语言中变量的"声明"与"定义"是怎么理解的, 我的理解如下: "声明"变量,只是仅仅声明,而"定义"变量,指声明了,并且赋值了. 例如: 复制代码 代码如下: var name;//只是声明 var num = 11;//声明,并且赋值,即定义了 var password = "yangjiang";//声明,并且赋值,即定义了 下面是几点总结: 变量的作用域:全局的和局部的.(注意:如果尝试

javascript权威指南 学习笔记之null和undefined_jquery

复制代码 代码如下: <!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>javascript之null和undefined</title> </head> <body> <script type="

hadoop权威指南学习(一) - 天气预报MapReduce程序的开发和部署

看过Tom White写的Hadoop权威指南(大象书)的朋友一定得从第一个天气预报的Map Reduce程序所吸引, 殊不知,Tom White大牛虽然在书中写了程序和讲解了原理,但是他以为你们都会部署了,这里轻描淡写给 带过了,这样就给菜鸟们留了课题,其实在跑书中的程序的时候,如果没经验,还是会踩坑的. 这里笔者就把踩过的坑说一下,以防后来人浪费时间了. 1. 首先,你得下载书中的ncdc气象原始数据,这个可以从书中的官网下载. 作者比较做人家,只给了2年的历史数据,无妨,2年也可以运行.

JSP学习笔记(一)-----概述

js|笔记 1.JSP是Java Server Pages的简写. 2.用JSP开发的Web应用是跨平台的. 3.JSP技术是Servlet技术的扩展.Servlet是平台无关的,100%纯Java的Java服务端组件. 4.下面就是一个简单的JSP页面: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE>欢迎访问网上商店<

Node.js学习笔记(一)概述

什么是Node.JS? 引用豆瓣Node.JS小组的回答: 把事件驱动IO库绑定给V8 JavaScript虚拟机实现的通用编程环境. 2月10日发布的0.4.0版成为新的稳定分支, 已更新至0.4.12 非稳定分支开始加入原生 Windows 支持, 已更新至0.5.6 官方网站, 包括API文档, 邮件列表等:http://nodejs.org 项目地址: https://github.com/joyent/node 它有什么不同? * 网络通信与文件系统IO无阻塞, 避免CPU时间浪费.

JAVA 2学习指南 学习笔记---------第一章 语言基础知道

JAVA中的关键字都是小写的.共有49个关键字,2个未使用的保留字:const goto; 数据类型: boolean    byte   int    short   long    float    double    char    class    interface 流程控制: if     else    do    while    for    switch    case    default    break    continue    return    try    c

动态网页学习:JSP学习笔记全记录

js|笔记|动态|网页 JSP学习笔记(一)-----概述 JSP学习笔记(二)-----使用Tomcat运行JSP文件 JSP学习笔记(三)-----使用JSP处理用户注册和登陆 JSP学习笔记(四)-----JSP动作的使用 JSP学习笔记(五)-----JSP中使用JavaBean JSP学习笔记(六)-----在多个JSP页面之间传递参数 JSP学习笔记(七)-----猜数字游戏 JSP学习笔记(八)-----include的运用 JSP学习笔记(九)-----JSP标签库

VSTO学习笔记(一)VSTO概述

原文:VSTO学习笔记(一)VSTO概述 接触VSTO纯属偶然,前段时间因为忙于一个项目,在客户端Excel中制作一个插件,从远程服务器端(SharePoint Excel Services)上下载Excel到本地打开,用户编辑后再上传回服务器端.当时工期紧迫,临时查了些资料,用VSTO + Excel COM API完成.正因为这个项目,我发现了VSTO的强大功能与潜力,决定抽出一些时间来好好研究下. 示例代码下载 本系列所有示例代码均在 Visual Studio 2010 Beta 2 +