《http权威指南》读书笔记1
概述
最近对http很感兴趣,于是开始看《http权威指南》。别人都说这本书有点老了,而且内容太多。我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做,还告诉你为什么这么做。于是我把学到的知识点记录下来,供以后开发时参考,相信对其他人也有用。
http概述
1.Web服务器是Web资源的宿主,但是资源并不一定非得是静态文件,资源还可以是根据需要生成内容的软件程序。总之,所有类型的内容来源都是资源,电子表格文档是一种资源,Web网关是一种资源,搜索引擎也还是一种资源。
2.MIME type就是媒体类型,用来标记多媒体内容,比如:html格式的文本文档由text/html类型来标记;jpeg图片用image/jpeg来标记等等。
3.URI = URL + URN。url是用路径作为标识的统一资源标识符(URI)。URN是统一资源名,它与位置无关,所以如果url路径上的资源不存在了,url会失效,但是URN不会。
4.一个Web页面通常并不是单个资源,而是一组资源的集合,它要为每个嵌入式资源使用一个单独的http事务。
5.http报文(message)包括这三个部分:
- 起始行,在请求报文里面用来说明要做些什么;在响应报文里面说明发生了什么。
- 首部字段;以键值对的形式,名字和值用冒号来分隔,互相之间以一个空行结束。
- 主体。
6.http报文是通过TCP协议从一个地方搬到另一个地方去的。TCP提供了:
- 无差错的数据传输
- 按序传输(数据总是按照发送的顺序到达)
- 未分段的数据流(可以在任意时刻以任意尺寸将数据发送出去)
7.从上往下依次是:应用层(http),传输层(TCP),网络层(IP),数据链路层(网络接口),物理层(物理硬件)。所以真正在网络中传输的其实就是http,TCP和IP。
8.http的默认端口号是80;https的默认端口号是443。
9.HTTP-NG又名HTTP/2.0。
10.Web的结构组件:
- 代理。代理位于客户端和服务端之间,接受所有客户端的http请求,并将这些请求转发给服务器(可能会对请求进行修改之后转发)。
- 缓存。Web缓存(web cache)或者代理缓存(proxy cache)是一种特殊的http代理服务器,可以将经过代理传送的常用文档复制保存起来,下一个请求同一个文档的客户端就可以享受缓存的私有副本所提供的服务了。
- 网关。网关是一种特殊的服务器。它作为其他服务器的中间实体使用,通常用于将http流量转换成其他的协议,比如ftp协议。客户端可能并不知道自己正在与一个网关进行通信。
- 隧道。隧道是建立起来后,就会在两条连接之间对原始数据进行盲转发的http应用程序,http隧道通常用来在一条或多条http连接上转发非http数据,转发时不会窥探数据。常见用途是利用隧道转发SSL流量,这样SSL流量就可以穿过只允许http流量通过的防火墙了。
- Agent代理。用户Agent代理简称Agent代理,是代表用户发起http请求的客户端程序。所有发布web请求的应用程序都是http Agent代理。比如:web浏览器。
《http权威指南》读书笔记1的更多相关文章
- 《Linux/Unix系统编程手册》读书笔记 目录
<Linux/Unix系统编程手册>读书笔记1 (创建于4月3日,最后更新4月7日) <Linux/Unix系统编程手册>读书笔记2 (创建于4月9日,最后更新4月10日) ...
- 《Linux/Unix系统编程手册》读书笔记9(文件属性)
<Linux/Unix系统编程手册>读书笔记 目录 在Linux里,万物皆文件.所以文件系统在Linux系统占有重要的地位.本文主要介绍的是文件的属性,只是稍微提及一下文件系统,日后如果有 ...
- 《Linux/Unix系统编程手册》读书笔记8 (文件I/O缓冲)
<Linux/Unix系统编程手册>读书笔记 目录 第13章 这章主要将了关于文件I/O的缓冲. 系统I/O调用(即内核)和C语言标准库I/O函数(即stdio函数)在对磁盘进行操作的时候 ...
- 《Linux/Unix系统编程手册》读书笔记7 (/proc文件的简介和运用)
<Linux/Unix系统编程手册>读书笔记 目录 第11章 这章主要讲了关于Linux和UNIX的系统资源的限制. 关于限制都存在一个最小值,这些最小值为<limits.h> ...
- 《Linux/Unix系统编程手册》读书笔记6
<Linux/Unix系统编程手册>读书笔记 目录 第9章 这章主要讲了一堆关于进程的ID.实际用户(组)ID.有效用户(组)ID.保存设置用户(组)ID.文件系统用户(组)ID.和辅助组 ...
- 《Linux/Unix系统编程手册》读书笔记5
<Linux/Unix系统编程手册>读书笔记 目录 第8章 本章讲了用户和组,还有记录用户的密码文件/etc/passwd,shadow密码文件/etc/shadow还有组文件/etc/g ...
- 《Linux/Unix系统编程手册》读书笔记4
<Linux/Unix系统编程手册>读书笔记 目录 第7章: 内存分配 通过增加堆的大小分配内存,通过提升program break位置的高度来分配内存. 基本学过C语言的都用过mallo ...
- 《Linux/Unix系统编程手册》读书笔记3
<Linux/Unix系统编程手册>读书笔记 目录 第6章 这章讲进程.虚拟内存和环境变量等. 进程是一个可执行程序的实例.一个程序可以创建很多进程. 进程是由内核定义的抽象实体,内核为此 ...
- 《Linux/Unix系统编程手册》读书笔记1
<Linux/Unix系统编程手册>读书笔记 目录 最近这一个月在看<Linux/Unix系统编程手册>,在学习关于Linux的系统编程.之前学习Linux的时候就打算写关于L ...
- 《Linux/Unix系统编程手册》读书笔记2
<Linux/Unix系统编程手册>读书笔记 目录 第5章: 主要介绍了文件I/O更深入的一些内容. 原子操作,将一个系统调用所要完成的所有动作作为一个不可中断的操作,一次性执行:这样可以 ...
随机推荐
- javascript:控制台详解
javascript工具——浏览器控制台详解 大神这篇博客是写在2011年,主要介绍 “Firefox” 浏览器插件 “Firebug” 的操作,如今主流浏览器对控制台都已经提供了很好的支持.我自己 ...
- java 8 日期函数
1.Timestamp(long)转成日期 Timestamp timestamp = new Timestamp(System.currentTimeMillis()); LocalDate ...
- 《DOM Scripting》学习笔记-——第二章 js语法
<Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...
- asmx 接收数据过大 发生错误
原文:https://www.cnblogs.com/xinaixia/p/5945316.html 错误:已超过传入消息(65536)的最大消息大小配额.若要增加配额,请使用相应绑定元素上的 Max ...
- [Ting's笔记Day3]解决Git常见错误non-fast-forward问题
写文章最难的部分,是找题材! 所以最近每次遇到bug或错误都挺兴奋开心(zflwx)的,因为又可以写笔记了 也可以记录新手学习之路上遇到的常见问题,提供其他新手参考. 最近学Udemy平台Ruby学习 ...
- R语言-散点图阵
1.pairs()函数 > pairs(iris[,1:4]) #取iris数据集的第一列到第四列两两作图 2.plot()函数 > plot(iris[,1:4], + main=&qu ...
- Install_WordPress_In_CentOS_7
1 – Install Apache Http Server# yum install httpd.x86_64 2 – Install php# yum install php.x86_64 3 – ...
- zabbix 3.4 直接 发现端口并作存活监控(带服务名)
客户端配置 1.脚本 [root@es1 home]# cat /home/port_service.sh #!/bin/bash#by Mr.lu#su rootportarray=(`sudo - ...
- 什么是PLI?
首先,什么是PLI? 本部分设定了隐藏,您已回复过了,以下是隐藏的内容 PLI 就是product liability insurance 的简写,中文可以翻译成“产品责任险”说白了,就是你的产品如果 ...
- 前后端跨域 _ cross domain
1. 解决跨域既可以从前端, 也可以从后端. 参考好的网络资源: http://www.cnblogs.com/vajoy/p/4295825.html