《http权威指南》读书笔记5
概述
最近对http很感兴趣,于是开始看《http权威指南》。别人都说这本书有点老了,而且内容太多。我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做,还告诉你为什么这么做。于是我把学到的知识点记录下来,供以后开发时参考,相信对其他人也有用。
web服务器
1.web服务器逻辑实现了http协议、管理着web资源,并负责提供web服务器的管理功能。web服务器逻辑和操作系统共同负责管理TCP连接。底层操作系统负责管理底层计算机系统的硬件细节,并提供了TCP/IP网络支持、负责装载web资源的文件系统以及控制当前计算活动的进程管理功能。
2.web服务器有各种不同的形式:
- 通用软件web服务器
- web服务器设备
- 嵌入式web服务器
3.解析请求报文时,web服务器会:
- 解析请求行,查找请求方法、指定的资源标识符以及版本号,各项之间由一个空格分隔,并以一个回车换行(CRLF)序列作为行的结束。
- 读取以CRLF结尾的报文首部。
- 检测到以CRLF结尾的、标识首部结束的空行。(如果有的话)
- 如果有的话(长度由Content-Length首部指定),读取请求主体。
4.不同的服务器结构:
- 单线程web服务器:一次只处理一个请求,期间所有其他请求都会被忽略。
- 多进程及多线程web服务器:会对线程/进程的最大数量进行限制。
- 复用I/O的服务器:只有在有事情可做时才会对连接进行处理,在空闲连接上等待的时候并不会绑定线程和进程。
- 复用的多线程web服务器:将多线程和复用功能结合。
5.动态内容资源的映射:web服务器还可以将URI映射为动态资源——也就是说,映射到按需动态生成内容的程序上去。
6.响应报文中通常包括:
- 描述了响应主体MIME类型的Content-Type首部。
- 描述了响应主体长度的Content-Length首部。
- 实际报文的主体内容。
7.web服务器有时会返回重定向响应而不是成功的报文,重定向可用于下列情况:
- 永久删除的资源。301
- 临时删除的资源。302
- URL增强。303或者307
- 负载均衡。303或者307
- 服务器关联。303或者307
- 规范目录名称。给URI尾部加上斜线。
《http权威指南》读书笔记5的更多相关文章
- 【鸟哥的Linux私房菜】笔记1
Linux是什么 从操作系统与cpu架构关系到linux Richard Mathew Stallman GPL 关于GNU计划 Linux的发展 Linux的核心版本 Linux的特色 Linux ...
- 【鸟哥的Linux私房菜】笔记3
正确地开机 最好不要使用root账号登陆!GNOME图形界面 View items as a list X WindowShell 文本交互界面bash是Shell的名称,Linux的默认壳程序就是b ...
- 【鸟哥的Linux私房菜】笔记2
Linux的应用 学习资源整理 安装记录 >< 1.Linux的应用: 网络服务器 数据库 学术机构的高效运算任务 嵌入式系统 ... 2.挂载与磁盘分区 学习资源整理 学习 1.书上的网 ...
- 《鸟哥的Linux私房菜》笔记——02. 关于Linux
Unix 历史 1969年以前:伟大的梦想--Bell, MIT 与 GE 的「Multics」系统 1969年:Ken Thompson 的小型 file server system 1973年:U ...
- 《鸟哥的Linux私房菜》笔记——03. 磁盘分区
Everything is a file. 常见硬件对应于 Linux 下的文件(/dev目录下) 装置 装置在Linux内的档名 SCSI/SATA/U盘硬盘机 /dev/sd[a-p] U盘 /d ...
- 鸟哥的linux私房菜学习笔记 __ 命令与文件的搜寻
连续输入两次[tab]按键就能够知道使用者有多少命令可以下达.那你知不知道这些命令的完整档名放在哪里?举例来说,ls 这个常用的命令放在哪里呢? 就透过 which 或 type 来找寻吧! 范例一: ...
- 【鸟哥的Linux私房菜】笔记
操作系统核心的功能! 驱动程序与操作系统的关系 2. [计算机组成之组件] 3.CPU实际要处理的数据完全来自于主存储器,这是一个很重要的概念! 4.CPU是整个计算机系统最重要的部分,那么目前世界上 ...
- 《鸟哥的Linux私房菜》笔记——04. 简单命令行
键入命令 [dmtsai@study ~]$ command [-options] parameter1 parameter2 ... 指令 選項 參數(1) 參數(2) 注意:有时也可以使用 + 放 ...
- 鸟哥的Linux私房菜学习笔记——文件权限与目录配置
Linux的文件权限和目录配置 在linux中的每个用户必需属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念. (1)所有者 一般为文件的创建者,谁创建了该文件,就是天 ...
- 鸟哥的Linux私房菜学习笔记(1)
2014/10/29 1.档案的权限管理分为三个部分: 拥有者.群组.其他 2.ls -al 命令可以看到档案的详细信息 3.档案的属性中由十个部分构成 第一个部分是档案类型 -代表档案.d代表文件夹 ...
随机推荐
- kubernetes 常见问题整理
使用kubectl 命令是报错 报错: [root@k8s-master ~]# kubectl get pod The connection to the server localhost: was ...
- 解决代理池的问题AttributeError: 'int' object has no attribute 'items'
https://blog.csdn.net/mygodit/article/details/86689127
- ABB机器人设置安全区(案例版)
ABB机器人设置安全区.中断(案例版) 1.概述 在如今机器人中普遍会设置机器人的安全区域,也可以理解为工作范围.主要目的是为了机器人运行时的安全性和可靠性.ABB机器人也不例外,下面我们就讲讲ABB ...
- 教你如何用ps制作紫色光斑效果
1.新建800x800画布 2.设置前景色和背景色分别为#b38adb ,#212121;执行"滤镜"-"渲染"-"云彩"操作 3.执行&q ...
- java数据结构至对称矩阵压缩存储
刚刚刷java选择题,遇到的对称矩阵压缩存储问题,我们知道对称矩阵是aij=aji的矩阵,压缩存储可以采用一维数组和二维数组存储. 此处只讨论一维数组存储的形式,设数组下标从0开始,对称矩阵为n维矩阵 ...
- 刷机魅蓝note2
直接上了. 情况: 魅蓝note2 公共版 忘记flyme 密码,手机号也换了,,找不回了..只能刷了.网上说就算刷了也不行,还是要输入flyme 密码 1. 直接刷官方的zip 包,不行,仍然要输 ...
- mysql数据库保存sesison会话
<?php header('Content-type:text/html;charset=gbk;'); date_default_timezone_set('PRC'); class db{ ...
- PM学习梳理--建模型
- 本地iis新建站点步骤
例如:1.在C:\Windows\System32\drivers\etc\hosts下添加地址 2.在下面IIS加上名称与webUI的地址
- JavaWeb(一)-Servlet中的Config和Context
一.ServletConfig对象 1.1获取一个servletConfig对象 1)通过初始化方法获得一个servletconfig 2)通过继承父类(GenericServlet.)得到一个ser ...