HTTP协议
Http的简介
Http是超文本传输协议,应用层协议
HTTP协议的路径格式
http://IP或域名:[port]/项目路径/项目中的资源路径?参数名=参数值
http:// 表示当前使用的http超文本传输协议
IP或域名 表示当前主机的IP或域名 本地:localhost或127.0.0.1
port 服务器的端口
HTTP协议的特点
1、支持客户端和服务端模式
2、简单快速
3、灵活
4、HTTP1.1后支持持续连接
5、无状态
请求协议
客户端向服务端发起请求时的协议
请求协议有三部分构成
请求行
请求行有三部分构成:
请求方式 GET/POST
请求路径
请求协议版本
请求头
键值对组成,键:值;多个请求头之间会换行
请求正文
GET请求没有请求正文,POST请求才有 (From Data)
响应协议
服务端向客户端响应数据时的协议
响应协议有三部分组成:
状态行(响应行)
状态行有三部分组成:
协议版本
响应状态码 (200=成功 404=未找到资源 500=服务器异常)
响应状态码的说明
消息报头(响应头)
键值对组成,键:值;多个消息头头之间会换行
响应正文
浏览器中所看到的的内容
消息头
HTTP 消息由客户端到服务器的请求和服务器到客户端的响应组成。
请求消息和响应消息都是由开始行(对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行),消息报头(可选),空行(只有 CRLF 的行),消息正文(可选)组成。
每一个报头域都是由名字+":"+空格+值组成,消息报头域的名字是大小写无关的。
请求头:对于请求协议而言
Referer:该请求头指明请求从哪里来
如果是直接从浏览器的地址栏直接访问,则没有Referer请求头 (相当于访问的是第一个页面,没有上一个页面)
作用:
可以得知的页面的上一个访问地址
应用场景:
百度竞价、防盗链、邀请链接等
响应头:对于响应协议而言
Location:
Location响应报头域用于重定向接受者到一个新的位置。
Location响应报头域,常用在更换域名的时候。
response.sendRedirect("http://www.shsxt.com");
Refresh:
自动跳转(单位是秒),可以在页面通过meta标签实现,也可在后台实现。
格式:
<meta http-equiv="refresh" content="时间秒数;url=跳转的地址">
3秒钟后跳转到尚学堂网站:
<meta http-equiv="refresh" content="3;url=http://www.shsxt.com">
每隔3秒刷新一次页面:
<meta http-equiv="refresh" content="3;">
Web的发展基础
Socket编程
客户端
向服务器发起请求,并传递数据
服务端
接收客户端的请求,并响应数据
通信规则:
TCP/IP协议
常见服务器:
Tomcat、JBOOS、Apache、Jetty等
服务器的作用:
服务器统一接收客户端处理并进行分发到不同的资源,由各个资源进行处理,最后结果交由服务器响应。
Java Web
C/S体系结构
客户端和服务端模式
B/S体系结构
浏览器和服务端模式
区别:
1、C/S采用高性能的PC端或工作站,使用大型数据库,效率高,但是成本也高。
2、C/S一般用于局域网,B/S一般用广域网。
3、C/S的使用人员相对固定,B/S使用人群不固定。
4、C/S需要安装专用得客户机,需要专业人员维护,维护成本高。