《图解HTTP》读后记
看了一遍又一遍…………不如记一下
用做笔记的方式来看,发现了好多之前没发现的知识点。。。。。感觉前几次看了跟没看一样。。。
1.1HTTP通常被译为超文本传输协议,但这种译法并不严谨。严谨的译名应该为“超文本转移协议”
发送请求获取服务器资源的Web浏览器登,都可称为客户端。
1.2 HTTP诞生于1989年3月
HTTP/0.9
HTTP于1990年问世,那时的HTTP并没有作为正式的标准被建立。现在的HTTP其实含有HTTP1.0之前版本的意思,因此被称为HTTP/0.9。
HTTP/1.0
HTTP正式作为标准被公布是在1996年的5月,版本被命名为HTTP/1.0,并记载于RFC1945。虽说是初期标准,但该协议标准至今仍被广泛使用在服务器端。
HTTP/1.1
目前主流
HTTP/2.0
HTTP/2.0(新一代加密协议)只应用于https://网址。
Web浏览器诞生于1990年11月由CERN研发。
1994年网景发布浏览器。1995年微软发布浏览器。HTML也发布了2.0版本。
1995年微软公司与网景通信公司爆发浏览器战争,两家公司都对HTML做了扩展,导致写HTML页面时必须考虑兼容他们两家公司的浏览器,时至今日仍让前端工程师感到棘手。战争于2000年网景通信公司衰落而暂告一段落。2004年firefox问世,第二次浏览器大战随即爆发。
1.3网络基础TCP/IP
HTTP属于TCP/IP内部的一个子集。TCP/IP是互联网相关的各类协议族的总称。

TCP/IP的分层管理,层次分别分为下面4层:应用层、传输层、网络层和数据链路层。
应用层:面向客户的应用服务,如FTP、DNS、远程登录、邮件接收、HTTP也处于该层。
传输层:有两种性质不同的协议:TCP、UDP。
(TCP会有3次握手建立连接,优点可靠稳定,缺点慢、效率低、有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。每个连接都占用系统的CPU、内存等硬件资源。因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。)
(UDP优点快,没有TCP的控制机制,是一个无状态的传输协议,所以它在传递数据时非常快。攻击危险有UDP Flood攻击……UDP的缺点: 不可靠,不稳定 因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。 )
(QQ信息用的UDP,qq视频、语音、使用的UDP,文件传输使用的TCP。直播软件(qq视频)如果视频卡了一下之后内容丢失则使用的UDP,(斗鱼等)卡了之后不会丢失部分视频的则是TCP)(qq的在线传输和离线传输分别用的UDP和TCP,猜的。)
网络层:(形象的比喻为公路、路线。如需要经过哪个路由器,经过A电脑、B电脑后才能到达C电脑。确认路线)
链路层:用来处理连接网络的硬件部分,包括硬件的设备驱动、控制操作系统、网卡、及光纤等。
TCP/IP通信传输流


发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。
这种把数据信息包装起来的做法称为封装。
1.4与HTTP关系密切的协议:IP、TCP和DNS
哇!!一章章的写下去。。。没有那个毅力。。简洁
IP和IP地址不相同,IP其实是一种协议的名称。IP协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是IP地址和MAC地址。使用ARP协议凭借MAC地址进行通信。
ARP是一种用以解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。
没有人能够全面掌握互联网中的传输状况
IP间的通信依赖MAC地址。在网络上,通信的双方在同一局域网(LAN)内的情况是很少的,通常是经过多台计算机和网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。这时,会采用ARP协议。

什么是DNS
DNS服务是和HTTP协议一样位于应用层的协议。它提供域名到IP地址之间的解析服务。
因为人类更容易识别名字(域名),而电脑更容易识别一长串数字字符(IP地址),所以DNS应运而生。(DNS运行原理还可探究)

1.6各种协议与HTTP协议的关系

1.7URI和URL
URL:很熟悉的—网页地址
URI:URI用字符串表示某一互联网资源,而URL表示资源的地址。形如地址后的/image/logo.gif。URL只是URI的一部分。(通俗点URL只定位了你的名称,名称可以试重复的,而URI定位到了你的身份证,身份证包含了名称)

这里就说一下部分
登录信息(认证)
指定用户名和密码作为从服务器端获取资源时必要的登录信息(身份认证)。此项是可选项。
服务器端口号
指定服务器连接的网络端口号。此项也是可选项,若用户省略则自动使用默认端口号。
带层次的文件路径
index.htm就是服务器真实存在的一个文件的文件名
查询字符串
针对已指定的文件路径内的资源,可以使用查询字符串传入任意参数。此项可选。
片段标识符
使用片段标识符通常可标记出已获取资源中的子资源(文档内的某个位置)。但在RFC中并没有明确规定其使用方法。该项也为可选项。(就是定位吧。默认都是在顶部,直接跳转到页面的中间部位或者底部。演示地址:http://jmeter.apache.org/usermanual/component_reference.html#View_Results_Tree)
2.简单的HTTP协议
发送请求的为客户端。


起始行开头的GET表示请求访问服务器的类型,称为方法(method)。随后的字符串/index.htm指明了请求访问的资源对象,也叫做请求URI(request-URI)。
综合来看,这段请求内容的意思是:请求访问某台HTTP服务器上的/index.htm页面资源。
请求报文是由请求方法、请求URI、协议版本、可选的请求首部字段和内容实体构成的。

请求报文的构成
接收到请求的服务器,会将请求内容的处理结果以响应的形式返回。
《图解HTTP》读后记的更多相关文章
- 《C# 白话系列之——白话委托》读后记
今天在博客圆首页看到一篇文章:<C# 白话系列之——白话委托> http://www.cnblogs.com/djangochina/p/3410002.html#commentform ...
- C# 白话系列之——白话委托
今天看到首页有个委托的文章,但大都写的太专业,而且没有实用的例子场景.正好昨天做了一个有关委托的功能,所以也来凑个热闹,用白话掰掰 一.委托是什么 我们都知道数据类型,简单点的如,想给一个变量赋值整数 ...
- [转]大白话系列之C#委托与事件讲解(三)
本文转自:http://www.cnblogs.com/wudiwushen/archive/2010/04/21/1717378.html [我希望大家在看完文章的时候,多做做练习,自己也可以想个场 ...
- JavaScript进阶系列06,事件委托
在"JavaScript进阶系列05,事件的执行时机, 使用addEventListener为元素同时注册多个事件,事件参数"中已经有了一个跨浏览器的事件处理机制.现在需要使用这个 ...
- 委托、Lambda表达式、事件系列05,Action委托与闭包
来看使用Action委托的一个实例: static void Main(string[] args) { int i = 0; Action a = () => i++; a(); a(); C ...
- 委托、Lambda表达式、事件系列03,从委托到Lamda表达式
在"委托.Lambda表达式.事件系列02,什么时候该用委托"一文中,使用委托让代码简洁了不少. namespace ConsoleApplication2 { internal ...
- 大白话系列之C#委托与事件讲解大结局
声明:本系列非原创,因为太精彩才转载,如有侵权请通知删除,原文:http://www.cnblogs.com/wudiwushen/archive/2010/04/20/1698795.html 今天 ...
- 并发系列5-大白话聊聊Java并发面试问题之微服务注册中心的读写锁优化【石杉的架构笔记】
- 白话系列之实现自己简单的mvc式webapi框架
前言:此文为极简mvc式的api框架,只当做入门api的解析方式,并且这里也不算是mvc框架,因为没有view层,毕竟现在大部分都属于前后端分离,当然也可以提供view层,因为只是将view当做文本返 ...
- 并发系列4-大白话聊聊Java并发面试问题之公平锁与非公平锁是啥?【石杉的架构笔记】
随机推荐
- 基于 Vue+Mint-ui 的 Mobile-h5 的项目说明
Vue作为前端三大框架之一,其已经悄然成为主流,学会用vue相关技术来开发项目会相当轻松. 对于还没学习或者还没用过vue的初学者,基础知识这里不作详解,推荐先去相关官网,学习一下vue相关的基础知识 ...
- html基础——下拉式菜单
一个网站能否让用户容易使用该网站往往是由菜单栏体现出来,因为它为网页的大多数页面提供功能入口.一个轻轻的点击以后,即可显示出菜单项,将网站的大部分页面和功能显示出来让用户清楚了解从而用户节约一定的时间 ...
- Codeforces Round #503 (by SIS, Div. 2) D. The hat -交互题,二分
cf1020D 题意: 交互题目,在有限的询问中找到一个x,使得数列中的第x位和第(x+n/2)位的值大小相同.数列保证相邻的两个差值为1或-1: 思路: 构造函数f(x) = a[x] - a[x ...
- poj1651 Multiplication Puzzle(简单区间dp)
题目链接:http://poj.org/problem?id=1651 题意:一系列的数字,除了头尾不能动,每次取出一个数字,这个数字与左右相邻数字的乘积为其价值, 最后将所有价值加起来,要求最小值. ...
- AOE工程实践-NCNN组件
作者:杨科 NCNN是腾讯开源的一个为手机端极致优化的高性能神经网络前向计算框架.在AOE开源工程里,我们提供了NCNN组件,下面我们以SqueezeNet物体识别这个Sample为例,来讲一讲NCN ...
- XML的相关基础知识分享
XML和Json是两种最常用的在网络中数据传输的数据序列化格式,随着时代的变迁,XML序列化用于网络传输也逐渐被Json取代,前几天,单位系统集成开发对接接口时,发现大部分都用的WebService技 ...
- 剑指Offer(三十二):把数组排成最小的数
剑指Offer(三十二):把数组排成最小的数 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net/b ...
- Linux中新建用户用不了sudo命令问题:rootr is not in the sudoers file.This incident will be reported解决
参考:https://blog.csdn.net/lichangzai/article/details/39501025 如果执行sudo命令的用户没有执行sudo的权限,执行sudo命令时会报下面的 ...
- Mysql高手系列 - 第9篇:详解分组查询,mysql分组有大坑!
这是Mysql系列第9篇. 环境:mysql5.7.25,cmd命令中进行演示. 本篇内容 分组查询语法 聚合函数 单字段分组 多字段分组 分组前筛选数据 分组后筛选数据 where和having的区 ...
- android 百度地图入门01 (史上最详没有之一)
最近一直和百度地图打交道,写几篇博客记录一下吧,目前最新版是4.0的 ,之前我用的是3.7的, 就以4.0的为例说一下最基本的配置流程吧. 一.准备工作 1.申请一个百度地图开发者账户--地址:htt ...