前言:
此时咱们对“js来路”可能比较关切,同学们都想要了解一些“js来路”的相关知识。那么小编同时在网络上搜集了一些有关“js来路””的相关知识,希望兄弟们能喜欢,小伙伴们快快来了解一下吧!HTTP协议系列教材 (一)- 教程
HTTP 超文本传输协议 Hyper Text Transfer Protocol
当我们在浏览器的地址栏输入一个地址的时候,就能够访问服务器的某个页面
这个过程本身就是两个应用程序之间的交互,一个应用程序是浏览器,另一个应用程序是服务器。
协议是什么? 协议就是不同的应用程序之间按照事先做好的约定进行的通信。 这样就能互相读懂对方的意思。
浏览器和WEB服务器之间,使用的就是一种叫做HTTP的协议。 这样是BS (Browser Server )架构模型的基础
步骤1:HTTP协议
步骤 1 : HTTP协议
HTTP协议由请求和响应两种类型组成
更多内容,点击了解:
HTTP协议系列教材 (二)- 借助FireFox火狐调试工具学习HTTP协议
对于HTTP协议的学习,我们将借助火狐浏览器FIREFOX的调试工具来实际观察浏览器和服务器之间传输数据的具体内容
步骤1:下载 FireFox
步骤2:打开调试工具
步骤3:观察 request response
步骤 1 : 下载 FireFox
下载火狐浏览器,打开Firefox下载页面,在右侧下载
步骤 2 : 打开调试工具
快捷键 F12
步骤 3 : 观察 request response
打开某个网页
就可以看到浏览器和服务器传输的协议内容了
接下来的章节会分别对请求消息和响应消息做讲解
更多内容,点击了解:
HTTP协议系列教材 (三)- 通过Firefox火狐调试工具观察 HTTP 请求协议
请求消息 由 请求行,请求头部,空行和请求数据4部分组成
步骤1:请求行
步骤2:请求头部
步骤3:请求数据
示例 1 : 请求行
打开网页 ,并新增一条英雄数据
通过调试工具可以看到两个重要信息:
POST addHero
提交的method是POST,访问的路径是addHero
示例 2 : 请求头部
请求头部信息提供了如下信息:
Host: 主机名
User-Agent: 浏览器基本资料
Accept: 浏览器能够识别的响应类型
Accept-Language: 浏览器默认语言
Accept-Encoding: 浏览器能够识别的压缩方式
Referer: 来路页面, /addHero 这个路径是通过addHero.html这个页面跳转过来的。
Connecton:是否保持连接
这些信息,也可以在HeroAddServlet中,通过 request对象获取
示例 3 : 请求数据
点开Params页,可以看到本次提交数据所传递的参数
更多内容,点击了解:
HTTP协议系列教材 (四)- 通过Firefox火狐调试工具观察 HTTP 响应协议
响应信息由状态行,消息报头,响应正文组成
步骤1:状态行
步骤2:消息报头
步骤3:响应正文
示例 1 : 状态行
访问页面
可以看到响应代码是 200 OK,即表示响应成功
除了200还有很多其他常用的代码,请查看 响应代码 章节
示例 2 : 消息报头
消息报头中提供如下信息:
Content-Length: 表示长度
Content-Type: 内容格式
Date: 日期
Server: 服务器类型
示例 3 : 响应正文
如图所示,在响应正文里就会是具体的html内容了。
当然访问不同的页面,就不一定是html,有可能是css, js,甚至图片了。
更多内容,点击了解:
HTTP协议系列教材 (五)- 通过Firefox火狐调试工具观察 HTTP常见 响应代码
http协议中的响应代码从 1xx ~ 5xx,一共有41种,不过很多状态码很少会接触到。 下面把开发过程中常接触到的讲解一遍
步骤1:200
步骤2:301
步骤3:302
步骤4:304
步骤5:404
步骤6:500
步骤7:更多代码一一览。。。
步骤 1 : 200
200 表示响应成功了,比如打开页面, 就会看到200响应码
步骤 2 : 301
301 表示客户端跳转,永久性的跳转
为了实现301跳转,在Servlet中应该使用如下代码:
response.setStatus(301);
response.setHeader("Location", "fail.html");
请参考 301或者302客户端跳转
步骤 3 : 302
302 客户端跳转,临时性的跳转
比如访问页面
提交数据会访问addHero,addHero把数据加到数据库后,就会302跳转到listHero来显示新增加的Hero。
在Servlet的代码实现要比301简单点,直接使用
response.sendRedirect("/listHero")
请参考 301或者302客户端跳转
步骤 4 : 304
304 表示资源未被修改。
当不是第一次访问一个静态页面或者图片的时候,就会得到这么一个提示。这是服务端提示浏览器,这个资源没有发生改变,你直接使用上一次下载的就行了,不需要重新下载。 这样就节约了带宽,并且浏览器的加载速度也更快。
第二次访问页面
就会看到304
步骤 5 : 404
404表示访问的页面不存在
比如访问页面
这是一个不存在的页面,就会得到404响应码
这表示一个浏览器的错误,就是服务端没提供这个服务,但是你却去访问。 这个锅要算到浏览器头上,不能算在服务器头上。
当然,有的时候是因为服务器没有配置这个路径,所以浏览器访问不到对应的资源。 比如在web.xml中,没有配置listHero,就会得到404错误。
步骤 6 : 500
500 表示服务端的错误
比如增加新的英雄的时候,血量应该是一个数字,但是提交的数据是“100a"。 而在服务端,使用Float.parseFloat() 试图把它转换为数字的时候,就会抛出异常。 这个就属于服务端的问题。
步骤 7 : 更多代码一一览。。。
更多内容,点击了解:
标签: #js来路