Web 第一步:HTTP 协议(基础)

这里是JavaWeb的开头部分!那么先解释一下吧:

Web:全球广域网,也称为万维网(www),能够通过浏览器访问的网站。

JavaWeb:是用Java技术来解决相关 Web 互联网领域的技术栈。

(JavaWeb B/S 概述图)

HTTP 协议(客户端与服务器交互的一种通讯方式)

所谓交互就是“请求”和“响应”。而“协议”就是双方约定好的格式罢了,让他们能沟通的东西。

Web 第一步:HTTP 协议(基础)_第1张图片

Request Method 数据格式(共八种)


public enum RequestMethod {
    GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE
}

请求数据格式图:

(可见在 post 请求里 get 和 post 之间有个换行隔开,而 get 的请求参数大小限制在 4KB 以内)

Response

Web 第一步:HTTP 协议(基础)_第2张图片

网页响应状态码(Status Code)的部分介绍:

状态码 英文描述 解释
200 OK 客户端请求成功,即处理成功,这是我们最想看到的状态码
302 Found 指示所请求的资源已移动到由Location响应头给定的URL,浏览器会自动重新访问到这个页面
304 Not Modified 告诉客户端,你请求的资源至上次取得后,服务端并未更改,你直接用你本地缓存吧。隐式重定向
400 Bad Request 客户端请求有语法错误,不能被服务器所理解
403 Forbidden 服务器收到请求,但是拒绝提供服务,比如:没有权限访问相关资源
404 Not Found 请求资源不存在,一般是URL输入有误,或者网站资源被删除了
428 Precondition Required 服务器要求有条件的请求,告诉客户端要想访问该资源,必须携带特定的请求头
429 Too Many Requests 太多请求,可以限制客户端请求某个资源的数量,配合Retry-After(多长时间后可以请求)响应头一起使用
431 Request Header Fields Too Large 请求头太大,服务器不愿意处理请求,因为它的头部字段太大。请求可以在减少请求头域的大小后重新提交。
405 Method Not Allowed 请求方式有误,比如应该用GET请求方式的资源,用了POST
500 Internal Server Error 服务器发生不可预期的错误。服务器出异常了,赶紧看日志去吧
503 Service Unavailable 服务器尚未准备好处理请求,服务器刚刚启动,还未初始化好
511 Network Authentication Required 客户端需要进行身份验证才能获得网络访问权限

更多信息,可以看这个网址:

HTTP 响应状态码 - HTTP | MDNHTTP 响应状态码用来表明特定 HTTP 请求是否成功完成。 响应被归为以下五大类:icon-default.png?t=N7T8https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status#%E6%9C%8D%E5%8A%A1%E7%AB%AF%E9%94%99%E8%AF%AF%E5%93%8D%E5%BA%94总结:Tomcat 帮我们封装了原始的 HTTP 代码,让我们更加专注于业务代码开发!

小小扩展:

动态网页 静态网页
因时间、地点、用户等外界因素变化而改变 自有其内在的执行逻辑,不受外界因素的影响

BS和CS架构

Broswer Server Client Server
依赖网络程度 依赖度高 依赖度低
程序主体部署位置 服务器 用户设备
安全验证能力
运算能力
是否方便维护更新 方便 不方便
使用条件 游览器 安装软件

你可能感兴趣的:(Java,Web,http,网络协议,网络)