了解内容
1,web客户端和服务端如何通信
2,web资源来自何方
3,web事务是怎样工作的
4,http通信锁使用的报文格式
5,底层tcp网络传输
6,因特网上安装的http架构组件
web客户端和服务端是通过http协议进行通信的,http属于应用层协议,是在tcp协议之上的,所以不用了解tcp协议。
web客户发送http请求,服务端回送http响应
web资源主要存放在服务端,客户端通过统一资源标识符来定位请求资源
这些资源是各种格式的文档,
如html,avi,图片文档
客户端通过服务端返回报文的格式来解析的
服务端返回资源,都会在这个资源上标上一个MIME的类型,用于告诉客户端这是什么类型的资源
如
html text/html
ascii text/html
jpeg image/jpeg
gif image/gif
统一资源标识符 URI
URI 分为
URL: 统一资源定位符,主要由四部分组成,http://www.baidu.com:80/xxxx.html
第一部分是协议如http://
第二部分是域名如www.baidu.com
第三部分是端口 一般默认是80
第四部分是资源 xxxx.html
URN:统一资源名,现在暂时应用还不太广,主要是解析支撑体系还不成熟。
不再通过资源路径来寻找资源了,而是通过资源名来找,这样不管你这个资源放在哪,只要名称固定就可以访问
如 urn:ietf:rfc:2141 因特网标准文档
web事务处理,每个http事务都是一个http请求命令和一个http响应组成
该过程是通过http报文完成的。
http请求命令有如下常见方法
GET 向服务器请求资源
PUT 将客户端的数据更新到一个服务器资源上
DELETE 删除服务端一个客户端指定的资源
POST 添加/更新 一个服务端请求的资源
HEAD 服务端发送资源响应的头部分报文
TRACE 回送服务端收到的客户端请求,主要用于调试
OPTIONS 查看服务端性能
CONNECT 客户端让服务端作为代理去访文某个资源,并把资源返回
http返回报文会携带一个状态码
1xx 临时响应,接收服务端正常响应前,需要准备接收多个1xx响应
2xx 服务端成功响应
3xx 客户端需采用更多操作来获取资源
4xx 客户端请求有误
5xx 服务端处理请求出错
http报文格式,主要起始行,首部,主体三部分组成
其中
起始行:主要用于在请求报文中说明这个报文用来做什么,在响应报文中说明出现了什么状况
首部:说明报文信息,key-value这种结构,值多个用分号(;)隔开,空行结束首部
主体:首部空行后的内容就是主体,主要为响应数据,在首部说明主体的数据类型,以二进制格式形式传输
一条http通信示例
1,浏览器从url中解析服务器主机名
2,浏览器将主机名转换为ip地址
3,浏览器将端口号从url中解析
4,浏览器与服务器通过tcp建立连接
5,浏览器向服务器发送一条http请求报文
6,服务器向浏览器回送一条http响应
7,关闭连接,浏览器处理响应报文
web中结构组件
代理,位于客户端和服务器之间,接收所有客户端的http请求,并将请求转发给服务器
缓存,用于缓存客户端请求,如果一个请求和上一个请求一致,直接从缓存中提取文件发送
网关,用于转发,将客户端的请求协议转换为其他协议
通道,用于在客户端和服务端之间构建一个通道,避免数据被盗取和监视,如ssl
agent代理,代理客户端发送请求,常见的是搜索引擎厂家的蜘蛛就是代理,用于搜索数据。