《图解HTTP》读书笔记(一)

《图解HTTP》读书笔记(一)

想深入学习一下网络,先从和自己比较接近的HTTP协议开始。

协议:计算机与网络设备需要相互通信,双方就必须基于相同的方法。不同硬件,操作系统之间的通信,所有的这一切都需要一种规则。这种规则就称为协议

一.基础知识

TCP/IP协议族:互联网相关各类协议的总称,不只是TCP和IP两种协议。

网络分层

  1. OSI七层模型

  2. TCP/IP四层模型(主流模型):应用层 传输层 网络层 数据链路层。数据包发送时,从高到低层,每过一层会被打上一个该层所属的首部信息(封装),反之,接收端从底层到高层,每过一层会把对应的首部信息消去。

IP协议:Internet Protocol。网络层协议。IP地址和MAC地址。通过ARP协议配对IP和对应的MAC地址。

TCP协议:传输层,提供可靠的字节流服务(分割大段的数据),数据包送出去后,通过三次握手策略,发送端->接收端->发送端,来确定是否成功送达。

DNS协议:Domain Name System。应用层,提供域名到IP的解析。请求一个地址时先发送给DNS服务器来获取ip地址。

URI:Uniform Resource Identifier统一资源标识符。例如

uri的绝对格式:协议方案名+登陆信息+服务器地址+服务器端口+带层次的文件路径+查询字符串+片段标识符。

例如:http://user:pass@www.example.jp:80/dir/index.htm?uid=1#ch1

二.简单的HTTP协议

客户端-请求

服务端-响应

请求报文:方法,URI,协议版本,请求首部字段(请求头),内容实体(请求体)

响应报文:协议版本,状态码,解释状态码的msg,响应首部字段(响应头),实体主体(entity body响应体)

1.方法

GET:通常用来获取资源,主要目的是获取响应内容

HEAD:和GET一样,但是不返回报文的主体

POST:通常用来传输实体的主体,主要目的不是获取响应内容

PUT/DELETE:传输/删除文件(HTTP1.1版本一般不用来传输文件)

OPTIONS:查询支持的方法

CONNECT:使用SSL和TLS协议传输内容(隧道)