1. Http协议的基础概念
HTTP(HyperText Transfer Protocol),超文本传输协议 ,定义了客户端和服务器端通信时发送数据的格式,是互联网上应用最广泛的一种网络协议。所有www文件都必须遵守这个标准。其设计的最初目的就是为了提供一种发布和接受HTML页面的方法。
2. Http协议的组成
Http协议由Http请求和Http响应组成。当在浏览器中输入网址,访问某个网站时,你的浏览器会将你的请求封装成一个Http请求发送给服务器站点,服务器接收到请求后会组织响应数据封装成一个Htp响应,返回给浏览器。没有请求就没有响应。
2.1- Http请求
请求是由客户端发送给服务器。可能产生请求的常见几种方式:
-
直接浏览器输入地址访问
-
form表单提交(method = GET, POST)
-
点击超链接
-
JS来打开新的链接地址
-
跟随一个页面一起访问的js, css, jpg等等资源文件等
2.1.1 请求行
格式:请求方式(GET/POST) / 请求地址URI(资源路径) / 协议版本
请求方式:
- GET
- 请求参数在请求行中,在url后。
- 请求的url长度有限制的
- 不太安全
- POST
- 请求参数在请求体中
- 请求的url长度没有限制的
- 相对安全
2.1.2 请求头:
请求头是客户端发送给服务器端的一些信息,使用键值对表示key: value
key是固定的,value值是客户端自行封装的客户端信息。
2.1.3 请求体:
- 请求方式为post,封装POST请求消息的请求参数的,相对隐藏。
- 请求方式为get,那么请求参数不会出现在请求体中,会拼接在url地址后面。
请求参数: 发送请求的时候, 一起发送给服务器的数据
2.2- Http响应
2.2.1 响应行
格式:HTTP/http协议版本 状态码 状态信息
常用的状态码如下:
- 200 : 请求成功。
- 302 : 请求重定向。
- 304 : 请求资源没有改变,访问本地缓存。
- 404 : 请求资源不存在。通常是用户路径编写错误,也可能是服务器资源已删除。
- 500 : 服务器内部错误。通常程序抛异常。
状态信息:状态信息是根据状态码变化而变化的。
2.2.2 响应头:
响应头是服务器端将消息返回给客户端,内容可以由程序员指定 / 由服务器引擎自动封装,使用键值对表示key: value
2.2.3 响应体:
响应体是服务器回写给客户端的页面正文,浏览器将正文加载到内存,然后解析渲染显示页面内容。
3.Web开发中的常见概念
3.1- B/S系统与C/S系统的区分
- Brower/Server: B/S: http https 浏览器/服务器
优点:不需要安装客户端, 浏览器, 更新服务器端更新同步到客户端。
缺点:实时流量很多, 带宽的要求比较高。
- Client/Server: C/S: TCP/IP 客户端/服务器
优点:实时流量不需要太多, 网络带宽的要求会低很多。
缺点:需要安装客户端, 更新需要重新下载客户端。
3.2- Web资源
存在于web应用服务器可供外界访问的资源就是web资源,如Html、CSS、JS、图片、视频等,其可被分为静态资源和动态资源两种类型。
- 静态资源:指web页面中供人们浏览的数据始终是不变
- 动态资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点、不同用户访问web页面看到的内容各不相同,动态资源认为通过java代码去动态生成html。
3.3- Web应用服务器
- WebLogic:oracle公司的大型收费web服务器,支持全部JavaEE规范。
- WebSphere:IBM公司的大型收费web服务器,支持全部的JavaEE规范
- Tomcat: Apache开源组织下的开源免费的中小型的web应用服务器,支持JavaEE中的 Servlet 和JSP规范。