第一章 了解web及网络基础
- TCP/IP 分层:应用层、传输层、网络层和数据链路层
应用层:决定了向用户提供应用服务时通信的活动(FTP、DNS、HTTP)
传输层:提供处于网络连接中的两台计算机之间的数据传输(TCP、UDP)
网络层(网络互联层):用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。
链路层(数据链路层,网络接口层):用来处理连接网络的硬件部分。 - 为了准确无误的将数据送达,TCP采用了三次握手次策略
- URI 和 URL的区别将单独写一篇
第二章 简单的HTTP协议
- 请求报文:方法+URI+协议版本+请求首部字段和内容实体
- 响应报文:协议版本+状态吗+原因短语+响应首部字段以及实体主体
- HTTP是无状态(stateless)协议,不保留之前请求的信息
- 如果不是访问特定资源而是对服务器本事发起请求,可以用*来代替请求URI
第三章 HTTP报文内的HTTP信息
- 请求报文和响应报文的首部内容有以下数据组成。
请求行
状态行
首部字段
其他 - 报文:是HTTP通信中的基本单位,由8位组字节流组成,通过HTTP通信传输
- 实体:作为请求或响应的有效载荷数据被传输,其内容由实体首部和实体主体组成
- 针对范围请求,响应会返回状态码206的响应报文,对于多重范围的范围请求,响应会在首部字段Content-Type标明multipart/byteranges后返回响应报文。如果服务器端无法响应范围请求,则会返回状态码200 OK和完整的实体内容
- 内容协商技术有3中类型:服务器驱动协商、客户端驱动协商、透明协商
第四章 返回结果的HTTP状态码
- 状态码的类别:
1XX Informational(信息性状态码) 接受的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕
3XX Redirection (重定向状态码) 需要进行附加操作以完成请求
4XX Client Error (客户端错误状态码) 服务器无法处理请求
5XX Server Error (服务器错误状态码) 服务器处理请求出错 - 200 OK:请求正常处理
- 204 No Content:请求成功处理,无资源返回
- 206 Partial Content:范围请求
- 301 Moved Permanently:永久性重定向
- 302 Found:临时性重定向
- 303 See Other:请求对应资源存在另一个URI,应使用GET方法定向获取请求的资源
- 304 Not Modified:资源不符合条件请求
- 400Bad Request:请求报文中存在语法错误
- 401 Unauthorized:表示发送的请求需要通过认证,之前进行过,则表示认证失败
- 403 Forbidden 请求被拒绝
- 404 Not Found 无法找到请求的资源
- 500 Internal Server Error:服务器发生错误
- 503 Service Unavailable:标明服务器暂时处于超负载或正在维护
第五章 与HTTP协作的Web服务器
- 代理:一种有转发功能的应用程序
- 网关:转发其他服务器通信数据的服务器
- 隧道:中转并保持双方通信连接的应用程序
第六章 HTTP首部
- 通用首部字段:请求报文和响应报文两方都会使用的首部
- 请求首部字段:从客户端向服务器发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息
- 响应首部字段:从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会要求客户端附加额外的内容信息。
- 实体首部字段:报文实体部分使用的首部