http概述——http笔记一
之前想深入的了解学习下HTTP,所以就买了本砖头《HTTP权威指南》。最近一直在看,可是发现看书只有输入并没有输出,不行。所以就打算把自己的理解写成一系列的笔记,供以后翻阅。
大概画了张本章内容的思维导图:(画工渣渣,字丑(⊙﹏⊙)b)将就呗~
第一章 HTTP概述 其实就是简要的概述了接下来每一章的点。
可以用一句话来概括本章的内容:web客户端通过和服务器端建立连接,建立连接成功就通过HTTP传递请求,往服务器的特定位置获取需要的多媒体资源,再返回给web客户端。
1.HTTP——互联网的多媒体信使
HTTP其实是web客户端和服务端的信使。通俗的可以这样理解:用户在京东上买东西,快递员就充当信使的角色。这里的用户就是web客户端,京东就是服务器,而快递员就是我们的HTTP了。
2.web客户端和服务器
上面提及的web客户端和服务器端,一般情况下,我们用浏览器访问一个页面就会涉及到HTTP,而我们的浏览器就充当web客户端的角色,然后通过输入的网址发送请求,访问远端的服务器索取需要的资源,而服务器就是存放各类资源的容器,服务器获取到请求后,知道浏览器要什么,就告诉浏览器响应请求,把浏览器需要的资源返回给它,浏览器就能显示漂亮的界面啦。
3.资源
刚刚说到了,web服务器是存放资源的容器。资源有很多,比如一般的静态文件:文本文件,HTML文件等等,也还有其他非静态文件,图片,视频等等。
- 资源是分类型的,HTTP给它加了个MIME类型来辨别!
- HTML格式文本由
text/html
类型来标记 - 普通的ASCII文本由
text/plain
类型来标记 - JPEG格式的图片由
image/jpeg
类型来标记 - GIF格式的图片为
image/gif
类型来标记大专栏 http概述——http笔记一br/>…
- 每个资源都有一个名字,HTTP用URI(统一资源标识符)进行唯一标识并进行资源定位
URI有两种形式: URL和URN
- URL(统一资源定位符)就是对特定的服务器里的某资源找到其特定位置。URL = 方案(HTTP/HTTPS) + 服务器地址 + 服务器某个资源。
- URN(统一资源名)就是对某个资源的唯一名称,与当前资源的位置无关。
3.事务
上面说到web客户端会发送请求,服务器会响应请求。
所以事务 = 请求命令 + 响应结果。
HTTP支持几种请求命令,这些命令称为方法;可以理解为,用户可以通过不同方式在京东上买东西,可以通过手机端,PC端,打电话购买。这些方式就称为方法啦。
列举常用的几种方法:
- GET
- POST
- DELETE
- PUT
- HEAD
HTTP响应会携带一个状态码,用来告诉请求是否成功。可以理解为,你在京东上买东西,会告诉你是否有货,是否能立即发送等状态,这些状态可以用状态码来表示。
列举常用的几种状态码:
- 200
- 302
- 404
4.报文
报文其实是一种数据结构块。HTTP的请求和响应都是由报文进行结构化之后再通信的。其实报文就等于帮请求和响应命令化了下妆。
给它们各自添加了以下部分:
- 起始行
- 首部
- 主体
5.连接
HTTP就是通过建立连接之后才能让客户端和服务器端通信。这么理解,河两岸的想要互相探望怎么办,我们可以建桥梁进行人与人之间的来往。我们的连接就等于是河里桥梁。我们的TCP连接就是属于万能的桥梁~
6. web的结构组件
web客户端和服务器端进行通信可能还会经过很多的组件,比如:
- 代理
- 缓存
- 网关
- 隧道
- Agent代理
以上的组件后面章节会提及。就先不详说、
磨刀不误砍柴工,相信学好HTTP,肯定能对前端的理解能更深入的~
http概述——http笔记一的更多相关文章
- 第一章 Andorid系统移植与驱动开发概述 - 读书笔记
Android驱动月考1 第一章 Andorid系统移植与驱动开发概述 - 读书笔记 1.Android系统的架构: (1)Linux内核,Android是基于Linux内核的操作系统,并且开源,所以 ...
- 《TCP/IP详解卷1:协议》第1章 概述-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- Spring概述学习笔记
1.Spring概述 Spring致力于J2EE应用的各种解决方案,而不仅仅专注于某一层的方案. 可以说,Spring是企业应用开发的一站式选择,他贯穿于表现层.业务层.持久层. Spring并不想取 ...
- 第一章Android系统移植与驱动开发概述--读书笔记
以前,初步学习过嵌入式Linux驱动开发的基础课程,对于驱动开发可以说是有了一点点微末的基础吧.首先我们要对Android嵌入式系统有一个初步的认识,Android系统发展到今天已经具备了完善的架构. ...
- iOS APP开发概述----学习笔记001
之前开发过一些Android APP,如今開始学习iOS开发,未来实际工作应该会用到.未雨绸缪. 一.了解其系统层次架构 其系统分层四层,其具体例如以下: 第一层:Core OS watermark/ ...
- 1.Java网络编程之概述
黑马程序员_毕向东_Java基础视频教程第23天-01-网络编程(概述)学习笔记 网络通讯三要素: 1.IP地址 I.网络中设备的标识 II.不易记忆,可用主机名 www 万维网组织,baidu主机 ...
- 《TCP/IP详解卷1:协议》第2章 链路层-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第3章 IP:网际协议(1)-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
随机推荐
- Python 学习笔记:Python 中单引号(')、双引号(")、三引号(''',""")的使用以及不转义字符串
一.单引号.双引号及三引号: 参考博客:https://www.cnblogs.com/chenhuan001/p/8006017.html 以上四种形式都是 Python 表示字符串的方式,具体的效 ...
- 基于邻接表的长度为k的简单路径的求解
描述 一个连通图采用邻接表作为存储结构.设计一个算法,判断无向图中任意给定的两点是否存在一条长度为k的简单路径. 输入 多组数据,每组m+3数据行.第一行有两个数字n,m和k,代表有n个顶点,m条边和 ...
- ZJNU 1153 - 找单词——中级
状态转移b[i]记录价值为i的单词种类数d[j+k*i]+=b[j] , k<=a[i]&&j+k*i<=50表示价值为j+k*i的单词可以由价值为j的单词加上k个i字母转 ...
- dw通过iis运行asp网站总结
ASP站点主要是结合iis和dw软件运行和浏览的 1.首先在本地先建立一个测试文件夹webs 2.打开iis管理器 3.建立创建网站 这里有个 4.dw中创建站点,并导入asp项目 下边的url是根据 ...
- 量化投资_TB交易开拓者A函数和Q函数详解
//////////////////A函数详解/////////////// //A函数主要在端口上进行下单操作//////////////// A_AccountID说明 返回当前公式应用的交易帐户 ...
- NOIP2000提高组T1 进制转换
https://www.luogu.org/problem/P1017 题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的值减1为指数,以10为底数的幂之和 ...
- C# 元组
Tuple<,); Console.WriteLine(t.Item1); Console.WriteLine(t.Item2); C#7 可以使用圆括号声明一个元组: (); Console. ...
- 吴裕雄--天生自然C语言开发:数组
] = {1000.0, 2.0, 3.4, 7.0, 50.0}; ]; #include <stdio.h> int main () { ]; /* n 是一个包含 10 个整数的数组 ...
- Metric space,open set
目录 引入:绝对值 度量空间 Example: 开集,闭集 引入:绝对值 distance\(:|a-b|\) properties\(:(1)|x| \geq 0\),for all \(x \in ...
- Xen入门系列四【Xen 管理实操】
1. 克隆一台虚拟机 # virt-clone -o base -n vm-clone -f /vm/vm-clone.img 参数说明: -o 原虚拟机的名称:必须为关闭或者暂停状态. -n 新虚拟 ...