济宁网站建设优化亿峰,旅游网站首页设计模板,机票便宜 网站建设,下载互联网1. 基本概念
1.1 Web
web#xff1a;网络#xff0c;网页
静态 web
html#xff0c;css提供给所有人看的数据始终不会变化
动态 web
淘宝提供给每个人看的数据会有所不同技术栈#xff1a;Servlet/JSP#xff0c;ASP#xff0c;PHP
Java 中#xff0c;动态 web 资…1. 基本概念
1.1 Web
web网络网页
静态 web
htmlcss提供给所有人看的数据始终不会变化
动态 web
淘宝提供给每个人看的数据会有所不同技术栈Servlet/JSPASPPHP
Java 中动态 web 资源开发的技术统称为 JavaWeb
1.2 Web 应用程序
Web 应用程序可以提供浏览器访问的程序
Web 应用程序由多个 Web 资源组成这些资源可以被外界访问对外界提供服务。Web 资源统一放在一个文件夹下。一个 Web 应用程序由多部分组成 htmlcssjsjspservletjava 程序jar 包配置文件
Web 程序编写完毕后若想提供给外界访问需要一个服务器来统一管理。
1.3 静态 Web 客户端可通过网络直接读取服务器上的网页*.html, *.htm。 静态 Web 无法动态更新所有用户看到的都是同一个页面。 无法与数据库交互数据无法持久化。 无法与用户进行交互。
1.4 动态 Web Web 页面可动态更新内容因人而异。 可以与数据库进行交互数据可以持久化。 可以与用户进行交互。 Web 资源出现错误需重新编写后台程序重新发布。
2. Web 服务器
2.1 JSP/Servlet
sun 公司基于 Java 语言和 B/S 架构研发的技术可承载三高高并发高可用高性能问题。 B/S浏览器和服务器 C/S客户端和服务器
2.2 Tomcat
Web 服务器可处理请求及响应信息目前最流行的 Web 服务器是 Tomcat 服务器。
2.2.1 安装 Tomcat 官网https://tomcat.apache.org/ 下载完毕后解压即可使用。
2.2.2 目录介绍 2.2.3 启动和关闭 双击启动程序
访问localhost:8080 2.2.4 配置 !--协议及端口配置--
Connector port8080 protocolHTTP/1.1connectionTimeout20000redirectPort8443 /!--IP 及网站目录配置--
Host namelocalhost appBasewebappsunpackWARstrue autoDeploytrue2.2.5 发布应用 将应用放到 Tomcat 的 webapps 目录下 -- webapps|-- Root|-- app (网站根目录)|-- WEB-INF| |-- classes (java 程序)| |-- lib (jar 依赖)| |-- web.xml (网站配置文件)|-- index.html (默认的首页)2.3 浏览器网址访问过程
1在浏览器中输入www.google.cn域名操作系统会先检查自己本地的hosts文件是否有这个网址映射关系如果有就先调用这个IP地址映射完成域名解析。 2如果hosts里没有这个域名的映射则查找本地DNS解析器缓存是否有这个网址映射关系如果有直接返回完成域名解析。 3如果hosts与本地DNS解析器缓存都没有相应的网址映射关系首先会找TCP/IP参数中设置的首选DNS服务器在此我们叫它本地DNS服务器此服务器收到查询时如果要查询的域名包含在本地配置区域资源中则返回解析结果给客户机完成域名解析此解析具有权威性。 4如果要查询的域名不由本地DNS服务器区域解析但该服务器已缓存了此网址映射关系则调用这个IP地址映射完成域名解析此解析不具有权威性。 5如果本地DNS服务器本地区域文件与缓存解析都失效则根据本地DNS服务器的设置是否设置转发器进行查询如果未用转发模式本地DNS就把请求发至13台根DNS根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后如果自己无法解析它就会找一个管理.com域的下一级DNS服务器地址(google.com)给本地DNS服务器。当本地DNS服务器收到这个地址后就会找google.com域服务器重复上面的动作进行查询直至找到www.google.com主机。 6如果用的是转发模式此DNS服务器就会把请求转发至上一级DNS服务器由上一级服务器进行解析上一级服务器如果不能解析或找根DNS或把转请求转至上上级以此循环。不管是本地DNS服务器用是是转发还是根提示最后都是把结果返回给本地DNS服务器由此DNS服务器再返回给客户机。
3. Http
超文本传输协议Hyper Text Transfer ProtocolHTTP是一个简单的请求-响应协议它通常运行在TCP之上。
http/1.0规定浏览器与服务器只保持短暂的连接浏览器的每次请求都需要与服务器建立一个TCP连接每次仅传输一个资源上一次和下一次请求完全分离。
http/1.1支持持久连接在一个TCP连接上可以传送多个HTTP请求和响应因此每次连接可传输多个资源。
3.1 Http 请求
// 请求 URL
Request URL: https://www.baidu.com/
// 请求方法
Request Method: GET
// 状态代码
Status Code: 200 OK
// 远程地址
Remote Address: 182.61.200.7:443
// 引用站点策略
Referrer Policy: strict-origin-when-cross-origin// 支持的数据类型
Accept: text/html
// 支持的编码格式
Accept-Encoding: gzip, deflate, br
// 语言环境
Accept-Language: zh-CN,zh;q0.9
// 缓存控制
Cache-Control: max-age0
// 请求完毕后断开连接还是保持连接
Connection: keep-alive
// 请求的主机名
Host: www.baidu.com请求方法
GET请求参数携带较少大小有限制会在 URL 地址栏显示数据内容不安全但高效。
POST请求携带参数无限制大小无限制不会在 URL 地址栏显示数据内容安全但不高效。
3.2 Http 响应
// 缓存控制
Cache-Control: private
// 连接状态
Connection: keep-alive
// 编码
Content-Encoding: gzip
// 格式
Content-Type: text/html;charsetutf-8
// 网页刷新频率
Refresh:
// 网页重新定位
Location:响应状态码
1xx:信息
消息描述100 Continue服务器仅接收到部分请求但是一旦服务器并没有拒绝该请求客户端应该继续发送其余的请求。101 Switching Protocols服务器转换协议服务器将遵从客户的请求转换到另外一种协议。
2xx:成功
消息描述200 OK请求成功其后是对GET和POST请求的应答文档。201 Created请求被创建完成同时新的资源被创建。202 Accepted供处理的请求已被接受但是处理未完成。203 Non-authoritative Information文档已经正常地返回但一些应答头可能不正确因为使用的是文档的拷贝。204 No Content没有新文档。浏览器应该继续显示原来的文档。如果用户定期地刷新页面而Servlet可以确定用户文档足够新这个状态代码是很有用的。205 Reset Content没有新文档。但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容。206 Partial Content客户发送了一个带有Range头的GET请求服务器完成了它。
3xx:重定向
消息描述300 Multiple Choices多重选择。链接列表。用户可以选择某链接到达目的地。最多允许五个地址。301 Moved Permanently所请求的页面已经转移至新的url。302 Found所请求的页面已经临时转移至新的url。303 See Other所请求的页面可在别的url下被找到。304 Not Modified未按预期修改文档。客户端有缓冲的文档并发出了一个条件性的请求一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档。服务器告诉客户原来缓冲的文档还可以继续使用。305 Use Proxy客户请求的文档应该通过Location头所指明的代理服务器提取。306 Unused此代码被用于前一版本。目前已不再使用但是代码依然被保留。307 Temporary Redirect被请求的页面已经临时移至新的url。
4xx:客户端错误
消息描述400 Bad Request服务器未能理解请求。401 Unauthorized被请求的页面需要用户名和密码。401.1登录失败。401.2服务器配置导致登录失败。401.3由于ACL对资源的限制而未获得授权。401.4筛选器授权失败。401.5ISAPI/CGI应用程序授权失败。401.7访问被Web服务器上的URL授权策略拒绝。这个错误代码为IIS 6.0所专用。402 Payment Required此代码尚无法使用。403 Forbidden对被请求页面的访问被禁止。403.1执行访问被禁止。403.2读访问被禁止。403.3写访问被禁止。403.4要求SSL。403.5要求SSL 128。403.6IP地址被拒绝。403.7要求客户端证书。403.8站点访问被拒绝。403.9用户数过多。403.10配置无效。403.11密码更改。403.12拒绝访问映射表。403.13客户端证书被吊销。403.14拒绝目录列表。403.15超出客户端访问许可。403.16客户端证书不受信任或无效。403.17客户端证书已过期或尚未生效。403.18在当前的应用程序池中不能执行所请求的URL。这个错误代码为IIS 6.0所专用。403.19不能为这个应用程序池中的客户端执行CGI。这个错误代码为IIS 6.0所专用。403.20Passport登录失败。这个错误代码为IIS 6.0所专用。404 Not Found服务器无法找到被请求的页面。404.0无–没有找到文件或目录。404.1无法在所请求的端口上访问Web站点。404.2Web服务扩展锁定策略阻止本请求。404.3MIME映射策略阻止本请求。405 Method Not Allowed请求中指定的方法不被允许。406 Not Acceptable服务器生成的响应无法被客户端所接受。407 Proxy Authentication Required用户必须首先使用代理服务器进行验证这样请求才会被处理。408 Request Timeout请求超出了服务器的等待时间。409 Conflict由于冲突请求无法被完成。410 Gone被请求的页面不可用。411 Length RequiredContent-Length未被定义。如果无此内容服务器不会接受请求。412 Precondition Failed请求中的前提条件被服务器评估为失败。413 Request Entity Too Large由于所请求的实体的太大服务器不会接受请求。414 Request-url Too Long由于url太长服务器不会接受请求。当post请求被转换为带有很长的查询信息的get请求时就会发生这种情况。415 Unsupported Media Type由于媒介类型不被支持服务器不会接受请求。416 Requested Range Not Satisfiable服务器不能满足客户在请求中指定的Range头。417 Expectation Failed执行失败。423锁定的错误。
5xx:服务器错误
消息描述500 Internal Server Error请求未完成。服务器遇到不可预知的情况。500.12应用程序正忙于在Web服务器上重新启动。500.13Web服务器太忙。500.15不允许直接请求Global.asa。500.16UNC授权凭据不正确。这个错误代码为IIS 6.0所专用。500.18URL授权存储不能打开。这个错误代码为IIS 6.0所专用。500.100内部ASP错误。501 Not Implemented请求未完成。服务器不支持所请求的功能。502 Bad Gateway请求未完成。服务器从上游服务器收到一个无效的响应。502.1CGI应用程序超时。502.2CGI应用程序出错。503 Service Unavailable请求未完成。服务器临时过载或宕机。504 Gateway Timeout网关超时。505 HTTP Version Not Supported服务器不支持请求中指明的HTTP版本。