1.Client/Server:客户端/服务器端
2.Browser/Server:浏览器/服务器端
优点 客户端使用统一的 Browser服务端基于统一的 HTTP1.静态资源:每个用户访问相同的资源,得到的结果相同。被访问后可以直接返回,被浏览器解析。
HTML、CSS、JavaScript2.动态资源:每个用户访问相同的资源,得到的结果可能不同。被访问后要先转换为静态资源再返回。
Servlet / JSP、PHP、ASP1.IP(Internet Protocol):电子设备(计算机)在网络中的唯一标识。
2.端口(port):应用程序在计算机中的唯一标识。取值范围:0~65535
3.传输层协议:规定了数据传输的规则。
TCP(Transmission Con trol Protocol,传输控制协议):面向连接,安全,三次握手 & 四次挥手,速度慢。UDP(User Datagram Protocol,用户数据报协议):无连接,不安全,速度快。1.服务器:安装了服务器软件的计算机,性能(硬盘、内存、CPU)比较好。
2.服务器软件:接收用户请求,处理请求,做出响应。
3.Web 服务器软件:部署 Web 项目,让用户通过浏览器来访问,也称为 Web 容器。
4.常见的 Java 相关 Web 服务器软件
webLogic:Oracle,大型的 JavaEE 服务器,支持所有 JavaEE 规范,收费。 JavaEE:Java 语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范。 webSphere:IBM,同上。JBOSS:JBOSS,同上。Tomcat:Apache 基金组织,中小型 JavaEE 服务器,仅仅支持少量的JavaEE 规范,开源,免费。1.HTTP:Hyper Text Transfer Protocol,超文本传输协议。
2.传输协议:定义了客户端和服务器端通信时发送数据的格式。
3.特点
基于 TCP / IP 的高级协议默认端口号:80基于请求 / 响应模型,一次请求对应一次响应。无状态:每次请求之间相互独立,不能交互数据。4.历史版本
1.0:每一次请求响应都会建立新的连接1.1:复用连接1.请求行
格式 请求方式 请求URL 请求协议/版本 GET /login.html HTTP/1.1请求方式:HTTP 有7种请求方式,常用的有 GET、POST。GET 请求参数在请求行(URL 后)中请求的 URL 长度有限不安全(参数容易暴露) POST 请求参数在请求体中请求的 URL 长度无限相对安全2.请求头:客户端浏览器传递给服务器的一些信息
格式:请求头名称: 请求头值常见的请求头 User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:69.0) Gecko/20100101 Firefox/69.0,浏览器告诉服务器访问使用的浏览器版本信息。Referer:http://localhost:8080/login.html,浏览器告诉服务器当前的请求从哪里来。 作用:防盗链、统计工作3.请求空行:分割 POST 请求的请求头与请求体
4.请求体(正文):封装 POST 请求的请求参数
5.字符串格式
POST /login.html HTTP/1.1 Host: localhost:8080 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:69.0) Gecko/20100101 Firefox/69.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Content-Type: application/x-www-form-urlencoded Content-Length: 12 Connection: keep-alive Referer: http://localhost:8080/login.html Upgrade-Insecure-Requests: 1 username=hjplz1.响应行
格式 响应协议/版本 状态码 状态码描述 HTTP/1.1 200 OK状态码:服务器告诉客户端浏览器本次请求和响应的状态,由三位数字组成。 1xx:服务器接收客户端消息,但没有完成接收,等待一段时间后发送。2xx:成功。e.g. 2003xx:重定向。e.g. 302(重定向)、304(访问缓存)4xx:客户端错误。e.g. 404(请求路径没有对应的资源)、405(请求方式没有对应的doXXX方法)5xx:服务器端错误。e.g. 500(服务器内部出现异常)2.响应头
格式:响应头名称: 响应头值常见的响应头 Content-Type:text/html;charset=UTF-8,服务器告诉客户端本次响应体数据格式和编码格式。Content-dispostion:服务器告诉客户端以什么格式打开响应体数据。 in-line:默认值,在当前页面打开。attachment;filename=xxx:以附件形式打开响应体,e.g. 文件下载3.响应空行
4.响应体:传输的数据
5.字符串格式
HTTP/1.1 200 OK Content-Type: text/html;charset=UTF-8 Content-Length: 101 Date: Tue, 24 Sep 2019 12:53:52 GMT <html> <head> <title>$Title$</title> </head> <body> Hello, response. </body> </html>