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 ...
随机推荐
- Linux之程序的开始和结束
1.main函数由谁来调用 (1).编译链接时的引导代码. 操作系统下的应用程序其实是在main函数执行前也需要先执行一段引导代码才能去执行main函数,我们写应用程序时不用考虑引导代码的问题,编译链 ...
- 14 微服务电商【黑马乐优商城】:day02-springcloud(理论篇一:HttpClient的简单使用)
本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一: ...
- Spring Cloud服务消费者(rest+ribbon)
在上一篇文章,讲了服务的注册和发现.在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的.Spring cloud有两种服务调用方式,一种是ribbon+r ...
- 做成像的你不能不了解的真相7-两分钟测算相机增益(Gain)
前几期真相文章得到了读者积极的反馈,其中提问最多的就是这个公式: 首先,大家觉得这个公式太有用了.以前只能定性地评价图像质量,现在一下子就能直接算出信噪比,瞬间高大上了许多有木有.然而,杯具的现实是, ...
- css后续篇
5.盒模型 在css中,box model这一术语是用来设计和布局时使用的,在网页中显示一些方方正正的盒子,这种盒子就叫盒模型 盒模型有两种: 标准模型和IE模型(了解) 盒模型属性 width : ...
- linux chmod命令修改文件权限
在linux中,使用chmod命令修改一个文件的权限. 首先,我们查看一个文件夹下所有文件的权限 ls -l linux文件或目录的权限分为,读.写.可执行三种权限.文件访问的用户类别分为,文件创建者 ...
- git实用手册
git.exe clone --progress -v "git@code.sohuno.com:huimingtao/focus-wap.git" "D:\worksp ...
- php mb_substr()函数的详细解释!
PHP substr()函数可以分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函数,mb_substr() /mb_strcut的用法 ...
- Java 线程池(二)
简介 在上篇 Java 线程池(一) 我们介绍了线程池中一些的重要参数和具体含义,这篇我们看一看在 Java 中是如何去实现线程池的,要想用好线程池,只知其然是远远不够的,我们需要深入实现源码去了解线 ...
- [LC] 156. Binary Tree Upside Down
Given a binary tree where all the right nodes are either leaf nodes with a sibling (a left node that ...