HTTP协议学习笔记
2018-02-09 17:35
369 查看
第一章 WEB网络基础
1.1 TCP/IP协议族
1.2 IP协议
1.3 DNS协议
第二章 HTTP协议简介
2.1 HTTP协议
2.2 URI和URL
2.3 HTTP报文
2.4 HTTP方法
2.5 HTTP状态码
第三章 通信数据转发程序
3.1 代理
3.2 网关
3.3 隧道
应用层:向用户提供应用服务时的通信活动,FTP、HTTP协议就在该层
传输层:网络连接中的两台计算机提供数据传输、该层主要协议有TCP、UDP
网络层:用来处理网络传输中的数据包,数据包是网络传输中的最小数据单位
数据链路层:处理网络连接中的硬件设备,包括操作系统、网络适配器、光纤等等
图出自《图解HTTP》一书
图出自《图解HTTP》一书
IP地址指明了节点被分配的地址,MAC地址则指明了网卡(网络适配器)固定的地址。IP地址可以变换,MAC地址就基本不变
请求报文构成
响应报文构成
POST:传输实体主体
PUT:传输文件
PUT方法不带验证机制,所以不安全
OPTIONS:请求URI指定资源支持的方法
HEAD:获取报文首部
DELETE:删除文件
HTTP/1.0的DELETE和PUT方法一样不带验证机制,所以文件上传和删除都不安全
TRACE:将服务器之前的请求通信环回给客户端
CONNECT:要求用隧道协议连接代理,主要用隧道协议进行TCP通信。主要使用SSL(Secure Sockets Layer)和TLS(Transport Layer Security)协议将通信内容加密后经网络隧道传输
(2). 2xx 成功
(3). 3xx 重定向
(4). 4xx 客户端错误
(5). 5xx 服务器错误
使用代理服务器的目的是利用缓存技术,减少网络带宽流量的使用,代理实现是先将副本放在代理服务器上,客户端访问的话,先从代理服务器获取资源,没有的话,再从源服务器获取资源。使用缓存的代理称作缓存代理。
如果代理服务器不对报文进行处理的,称作透明代理,反之成为非透明代理。
代理是不会改变URI的,通过代理服务器转发请求或者响应协议时,会在报文首部追加写上Via信息,如图所示,图来自《图解HTTP图书》一书
网关可以将HTTP协议转换为其它协议,然后再转发给非HTTP服务器。网关可以提供通信的安全性,网关可以在通信线路加密以确保安全性
1.1 TCP/IP协议族
1.2 IP协议
1.3 DNS协议
第二章 HTTP协议简介
2.1 HTTP协议
2.2 URI和URL
2.3 HTTP报文
2.4 HTTP方法
2.5 HTTP状态码
第三章 通信数据转发程序
3.1 代理
3.2 网关
3.3 隧道
第一章 WEB网络基础
1.1 TCP/IP协议族
应用层、传输层、网络层、数据链路层应用层:向用户提供应用服务时的通信活动,FTP、HTTP协议就在该层
传输层:网络连接中的两台计算机提供数据传输、该层主要协议有TCP、UDP
网络层:用来处理网络传输中的数据包,数据包是网络传输中的最小数据单位
数据链路层:处理网络连接中的硬件设备,包括操作系统、网络适配器、光纤等等
图出自《图解HTTP》一书
图出自《图解HTTP》一书
1.2 IP协议
IP协议是一种网络层的协议,用来处理数据包的传送。包括了两个重要的地址,IP地址和、MAC地址。IP地址指明了节点被分配的地址,MAC地址则指明了网卡(网络适配器)固定的地址。IP地址可以变换,MAC地址就基本不变
1.3 DNS协议
DNS(Domain Name System)是位于应用层的协议,负责域名解析服务,DNS通过域名查找IP地址,或逆向从IP地址反向查找域名第二章 HTTP协议简介
2.1 HTTP协议
HTTP协议是一种无状态协议,也即不保存请求和响应的状态。HTTP协议这样设计是为了提高响应效率。但是随着互联网的发展,一些特定场景就需要有状态的。所以HTTP也加进来了Cookie技术。2.2 URI和URL
URI(Uniform Resource Identifier),也即统一资源标记协议。URL(Uniform Resource Location),也即统一资源地址。可见URL是URI的子集。2.3 HTTP报文
用于HTTP协议交互的信息被称作HTTP报文。请求端(客户端)的报文被称作请求报文,响应端(服务器端)的报文被称作响应报文。HTTP报文包括报文首部和报文主体。请求报文构成
响应报文构成
2.4 HTTP方法
GET:获取资源POST:传输实体主体
PUT:传输文件
PUT方法不带验证机制,所以不安全
OPTIONS:请求URI指定资源支持的方法
HEAD:获取报文首部
DELETE:删除文件
HTTP/1.0的DELETE和PUT方法一样不带验证机制,所以文件上传和删除都不安全
TRACE:将服务器之前的请求通信环回给客户端
CONNECT:要求用隧道协议连接代理,主要用隧道协议进行TCP通信。主要使用SSL(Secure Sockets Layer)和TLS(Transport Layer Security)协议将通信内容加密后经网络隧道传输
2.5 HTTP状态码
(1). 1xx 正在处理(2). 2xx 成功
200(OK):表示请求成功 204(No Content):表示请求成功,但是没有资源返回 206(Partial Content):表示客户端进行范围请求,服务端执行GET方法进行响应
(3). 3xx 重定向
301(Moved Permanently):永久性重定向。表示请求的URI已经被指定了新的URI,用户以后要用新的URI访问。<br> 302(Found):临时性重定向。表示请求的URI已经被指定了新的URI,用户(本次)要使用新的URI访问。与301的不同就是URI改变是临时的,以后可以重新变回来 <br> 303(See Other):303和302功能一样,不过303要求以GET方法获取资源 <br> 304(Not Modified):表示客户端发送附带条件的请求,但是未符合条件。 307(Temporary Redirect):临时重定向。和302的区别就是遵照浏览器的标准,不会从POST变成GET。
(4). 4xx 客户端错误
400(Bad Request):表示请求报文中存在语法错误。 401(Unauthorized):表示请求需要有通过HTTP认证(BASIC认证,DIGEST认证) 403(Forbidden):表示请求访问被服务器拒绝了。因权限问题被服务器拒绝的访问都可以是403。 404(Not Found):表示服务器没有找到请求资源
(5). 5xx 服务器错误
500(Internal Server Error):服务端在执行请求时发生错误 503(Service Unavailable):表示服务器超负载或者在这进行停机维护。
第三章 通信数据转发程序
HTTP协议进行通信时,不仅需要客户端和服务端,还需要一些进行转发的程序,比如代理、网关、隧道3.1 代理
代理是一种具有转发功能的程序,接收客户端的请求,并转发给服务端。使用代理服务器的目的是利用缓存技术,减少网络带宽流量的使用,代理实现是先将副本放在代理服务器上,客户端访问的话,先从代理服务器获取资源,没有的话,再从源服务器获取资源。使用缓存的代理称作缓存代理。
如果代理服务器不对报文进行处理的,称作透明代理,反之成为非透明代理。
代理是不会改变URI的,通过代理服务器转发请求或者响应协议时,会在报文首部追加写上Via信息,如图所示,图来自《图解HTTP图书》一书
3.2 网关
网关是转发其它服务器通信数据的程序。接收从客户端发生的数据,并进行处理网关可以将HTTP协议转换为其它协议,然后再转发给非HTTP服务器。网关可以提供通信的安全性,网关可以在通信线路加密以确保安全性
3.3 隧道
隧道是远程客户端和服务端两者之间进行中转,并保持双方通信连接的应用程序。隧道使用SSL等加密手段进行加密处理,保证远程客户端和服务端之间通信的安全性。相关文章推荐
- php学习笔记(十八)Header使用的HTTP协议及常用方法
- HTTP协议学习笔记2
- HTTP协议学习笔记---HTTP持久连接和如何正确地关闭HTTP连接
- 基于libevent的http协议 学习笔记之认识基本函数(1)
- Java学习笔记之Http协议详解
- HTTP协议 学习笔记
- HTTP协议学习笔记
- 图解http学习笔记2.简单http协议
- HTTP协议 学习笔记
- Web服务及http协议_学习笔记
- HTTP 协议 学习笔记 1
- HTTP协议学习笔记---HTTP持久连接和如何正确地关闭HTTP连接
- Javaweb学习笔记2—Tomcat和http协议
- 学习笔记分享(1),Http协议中Post方式与Get方式的传参形式
- http协议学习笔记1
- 图解HTTP协议 第2章 简单的HTTP协议学习笔记
- HTTP学习笔记11 基于HTTP的追加协议
- 深入浅出http协议--学习笔记
- Http协议学习笔记
- Http协议----学习笔记