提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:http协议和tomcat:
协议:计算机与计算机之间的通讯语言就叫做协议,不同的计算机通过相同的协议才能通信。所以网络协议就是为计算机网络中进行数据交换而建立的规则,标准或约定得到集合。
一、HTTP协议?
HTTP协议是应用于从WWW服务器传输超文本到本地浏览器的传输协议
HTTP协议是应用层协议,由请求和响应构成,是一个标准的个客户端和服务器模型。
二、OSI模型
1.应用层( http协议)
2.传输层(TCP/UDP)
3.网络层
4.数据链路层
5.物理层
1.HTTP协议主要特点
1.支持客户/服务器(B/S)模式
2.由于HTTP协议协议简单,规模小,所以通信速度快
3.HTTP允许任意类型的数据对象,正在传输的类型有Content-Type加以标记.
4.(HTTP1.0版本是无连接),(HTTP1.1版本是长连接)
5.无状态:协议对之前的响应请求没有记忆,解决这问题出现cookie(客户端)和session(服务器端)。
2.HTTP工作原理:
1.HTTP协议工作于客户端与服务器的架构上,客户端通过URL向服务器发送所有的请求,向客户端发送响应信息。HTTP协议定义客户端如何向服务器发送请求,以及服务器如何响应请求送给客户端,所以HTTP请求协议采用了请求/响应模型。
2.客户端
(1)向服务器发送请求。
(2)接收服务器返回的报文并解析成可读的数据
(3)客户端大概有:浏览器(最多使用)、应用程序
(4)当客户再地址栏输入网址回车时,浏览器做以下处理:
- 解析协议和域名
- 使用HTTP协议并创建请求报文向服务器发送请求。
- 接收服务器返回的数据并展示给用户
3.服务端
(1)服务器接收客户端发送的请求后开始处理请求
(2)服务器处理过程:服务器软件一直再监听端口是否有新的请求,例如:iis或tomcat在建立web站点后,默认会一直监听端口等待HTTP请求 - 建立连接
- 接受请求报文:连接上有数据时,web服务器会从网络连接中读取数据,并将请求报文中的内容解析出来。
- 处理请求:当请求被接收后,服务器便可以根据请求报文进行处理。
- 访问资源:请求处理完后,web会根据数据生成一些信息
- 构建响应:web服务器再识别资源后,构造响应报文,响应报文包括:状态码,响应头,响应主体等内容。
- 发送响应:服务器将响应的数据发送给客户端机器。
- 记录日志:请求结束,服务器会在日志文件中记录一条请求日志。
3.HTTP协议(URL)
组成:
- 协议部分:该URL的协议部分分为"http",这代表网页使用的是HTTP协议。
- 域名部分:该URL的域名部分分”www.baidu.com“,URL中也可以使用IP地址
- 端口部分:跟在域名后面的是端口,域名和端口之间使用”:“作为分隔符。如果没有,那么说明URL使用的默认端口80。
- 虚拟目录部分:从域名后的第一个”/"开始到最后一个“/”为止,是虚拟目录。
- 锚部分:从“#”开始到最后,都是锚部分(定位内容)
- 参数部分:从“?”开始到“#”为止之间的部分,又称搜索部分
4.HTTP请求(- 请求方式:get,post)
- 请求行:
- get:请求能够携带的参数较小,大小有限制,其实真正是浏览器限制参数大小,因为参数要在浏览器的URL地址栏里显示,不安全。
- post:请求能够携带的参数没有限制,不会在浏览器URL地址栏里显示数据内容,相对于get安全,如果抓包还是能获取到数据。
- 请求头:
- Accept:告诉浏览器,它所支持的数据类型
- Accept-Encoding:支持那种编码格式
- Accept-Language:告诉浏览器,他的语言环境
- Cache-Control:缓存控制
- Connection:告诉浏览器,请求完成是断开还是保持连接
- HOST:主机…/.
- 请求体:
- post请求方式:请求的数据
- get没有
5.HTTP响应
- 响应体
- Accept:告诉浏览器,它所支持的数据类型
- Accept-Encoding:支持哪种编码格式
- Accpt-Language:告诉浏览器,他的语言环境
- Cache-Control:缓存控制
- Connection:告诉浏览器,请求完是断开还是保持连接
- HOST:主机…/.
- Refresh:告诉客户端多久刷新一次
- Location:让网页重新定位
- 响应码
- 10x:信息,服务器收到请求,需要请求者继续执行操作
- 20x:请求成功(200)
- 30x:重定向,需要进一步操作完成请求
- 40x:客户端错误,404资源找不到(400:请求的语法错误,服务器无法理解。401:请求需要用户身份认证)
- 50x:服务器错误