HTTP
浏览器与服务器的交互模式
1.Web交互的基本流程
1)概念:
- URL:统一资源定位符,是网络中唯一标识的地址。
- 请求:Client(客户端)根据用户的地址信息将数据发送给服务端
- 响应:服务器将处理好的结果返回到客户端的过程
- 例子:在浏览器中输入一个地址,这个数据就会发送到服务器,然后服务器将处理好的结果再返回到浏览器。
2. HTTP 协议
1)书写格式:
HTTP://127.0.0.1:8080/myweb/servlet01?name=zhangsan
2)特点:
-
支持客户、服务器模式
-
简单快速:客户向服务器请求服务时,只需要传送请求方法和路径。
-
灵活:HTTP也许传输任意类型的数据对象。
-
无连接:每次链接只处理一个请求。服务器处理完客户的请求,收到客户的应答后,就会会断开链接,所以可以节省时间。
HTTP1.1版本后支持可持续链接。
-
无状态:指的是协议对于事物处理没有记忆能力。如果后续处理需要前面的信息,则必须重新传递数据,这样会导致每次链接传送的数据量增大,但是如果不需要先前的信息时候应答比较快。
3)流程:
客户端与服务端建立链接-->
客户端发送请求数据给服务器-->
服务端接收请求后进行处理,将处理结果响应到客户端-->
关闭服务端和客户端
4)HTTP URL
- 格式:
http://host[:port]/[abc_path]
- http:通过HTTP协议来定位网络资源
- host:表示合法的Internet主机域名或者IP地址;
127.0.0.1
是本地地址 - port:指定的端口号
- abc_path:指定请求资源的URL;
5)HTTP 请求
组成部分:请求行、请求头、请求正文
- 请求行:协议中的第一行,由请求方式(GET和POSt)、请求路径、请求协议版本组成
- 请求头:协议中的键值对
- 请求正文:需要传递给服务器的一些数据
GET请求:没有请求正文,会把请求数据直接跟在地址的后面。
例子:百度-->右键-->检查-->网络
此时的并没有显示信息,需要刷新一下才能显示出来。
注意:要点击查看源才能看见
在百度中输入servlet然后刷新:
6)HTTP 响应
组成部分:响应行(状态行)、响应头(消息报头)、响应正文
- 响应行:HTTP协议版本、响应状态码、响应状态码的说明
例如:HTTP/1.1 200 OK
1.1为协议版本 200为状态码,200表示请求成功的状态码,404表示找不到,500表示服务器异常,OK是对200的一种说明,但是不同浏览器的说明不一样,但是成功的状态码都一样,都为200
7) 消息头
-
每个报头域都是由
名字+":"+空格+值
组成,报头域的名字与大小写无关。 -
请求头:
Referer:该请求头指明请求从哪里来的
在网页中可以查看到,若有,则说明该页面是从referer请求头后面的请求值来的
例如:从A和B都可以去到C页面,怎么知道是从哪个页面来的呢,可以查看referer。 -
响应头:
Location:重定向接收到一个新的位置,通常用于更换域名的时候
Refresh:自动跳转(单位:秒),可以在页面通过meta
标签实现,也可以在后台实现
<!--①每3秒钟刷新一次画面-->
<meta http-equiv="refresh" content="3">
<!--②3s后跳转到百度页面-->
<meta http-equiv="refresh" content="3;url=http://www.baidu.com">