之前想深入的了解学习下HTTP,所以就买了本砖头《HTTP权威指南》。最近一直在看,可是发现看书只有输入并没有输出,不行。所以就打算把自己的理解写成一系列的笔记,供以后翻阅。

大概画了张本章内容的思维导图:(画工渣渣,字丑(⊙﹏⊙)b)将就呗~

第一章 HTTP概述 其实就是简要的概述了接下来每一章的点。

可以用一句话来概括本章的内容:web客户端通过和服务器端建立连接,建立连接成功就通过HTTP传递请求,往服务器的特定位置获取需要的多媒体资源,再返回给web客户端。

1.HTTP——互联网的多媒体信使

HTTP其实是web客户端和服务端的信使。通俗的可以这样理解:用户在京东上买东西,快递员就充当信使的角色。这里的用户就是web客户端,京东就是服务器,而快递员就是我们的HTTP了。

2.web客户端和服务器

上面提及的web客户端和服务器端,一般情况下,我们用浏览器访问一个页面就会涉及到HTTP,而我们的浏览器就充当web客户端的角色,然后通过输入的网址发送请求,访问远端的服务器索取需要的资源,而服务器就是存放各类资源的容器,服务器获取到请求后,知道浏览器要什么,就告诉浏览器响应请求,把浏览器需要的资源返回给它,浏览器就能显示漂亮的界面啦。

3.资源

刚刚说到了,web服务器是存放资源的容器。资源有很多,比如一般的静态文件:文本文件,HTML文件等等,也还有其他非静态文件,图片,视频等等。

  1. 资源是分类型的,HTTP给它加了个MIME类型来辨别!
  • HTML格式文本由text/html类型来标记
  • 普通的ASCII文本由text/plain类型来标记
  • JPEG格式的图片由image/jpeg类型来标记
  • GIF格式的图片为image/gif类型来标记大专栏  http概述——http笔记一br/>…
  1. 每个资源都有一个名字,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笔记一的更多相关文章

  1. 第一章 Andorid系统移植与驱动开发概述 - 读书笔记

    Android驱动月考1 第一章 Andorid系统移植与驱动开发概述 - 读书笔记 1.Android系统的架构: (1)Linux内核,Android是基于Linux内核的操作系统,并且开源,所以 ...

  2. 《TCP/IP详解卷1:协议》第1章 概述-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  3. Spring概述学习笔记

    1.Spring概述 Spring致力于J2EE应用的各种解决方案,而不仅仅专注于某一层的方案. 可以说,Spring是企业应用开发的一站式选择,他贯穿于表现层.业务层.持久层. Spring并不想取 ...

  4. 第一章Android系统移植与驱动开发概述--读书笔记

    以前,初步学习过嵌入式Linux驱动开发的基础课程,对于驱动开发可以说是有了一点点微末的基础吧.首先我们要对Android嵌入式系统有一个初步的认识,Android系统发展到今天已经具备了完善的架构. ...

  5. iOS APP开发概述----学习笔记001

    之前开发过一些Android APP,如今開始学习iOS开发,未来实际工作应该会用到.未雨绸缪. 一.了解其系统层次架构 其系统分层四层,其具体例如以下: 第一层:Core OS watermark/ ...

  6. 1.Java网络编程之概述

    黑马程序员_毕向东_Java基础视频教程第23天-01-网络编程(概述)学习笔记 网络通讯三要素: 1.IP地址 I.网络中设备的标识  II.不易记忆,可用主机名 www 万维网组织,baidu主机 ...

  7. 《TCP/IP详解卷1:协议》第2章 链路层-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  8. 《TCP/IP详解卷1:协议》第3章 IP:网际协议(1)-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  9. 《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

随机推荐

  1. JVM学习思维导图

  2. IDEA查看接口的所有实现类

    查看实现类 接口下右键Diagrams->Show Diagram,选中接口右键Show Implementations 或接口下按Ctrl+H: 或接口类名左边按钮:

  3. Python 学习笔记:Python 连接 SQL Server 报错(20009, b'DB-Lib error message 20009, severity 9)

    问题及场景: 最近需要使用 Python 将数据写到 SQL Server 数据库,但是在进行数据库连接操作时却报以下错误:(20009, b'DB-Lib error message 20009, ...

  4. 关于 TCP 和 UDP 协议

    TCP\UDP 两者区别总结:https://blog.csdn.net/striveb/article/details/84063712 图解HTTP,状态码,TCP.UDP等网络协议相关总结(持续 ...

  5. ES6之对象的语法糖

    本文介绍下ES6中对象的一些拓展功能. 这三个语法糖在实际的项目开发中经常会见到.

  6. 实测两款 GitHub 开源抢票插件,所有坑都帮你踩过了

    如果你对自己手速和市面上的各种 “加速包” 都没什么信心的话,不妨试试用程序员的手段抢票? 况且,[12306 官方宣布屏蔽了一大批付费抢票软件],这也意味着你即使给这些软件付了会员费,也依旧抢不到票 ...

  7. 56)PHP,模型类的设计思想

    一张表对应一个模型类-----Mode

  8. K - The Unique MST (最小生成树的唯一性)

    Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spann ...

  9. springboot系列教程导学篇

    spring boot2.0系列教程学习之导学篇 springboot 2.0深度学习系列教程. Spring Boot 虽然凯哥从2015年年初开始就接触了spring boot.但是在之后的公司中 ...

  10. 系统学习Javaweb9----BootStrap1

    学习内容: 1.BootStrap的简述 2.BootStrap环境搭建 3.BootStrap环境搭建-基本模板创建 4.BootStrap环境搭建-基本模板讲解 5.BootStrap布局容器 6 ...