HTTP协议简述
1.概述
HTTP 协议(Hypertext Transfer Protocol, 超文本传输协议)。
请求协议:客户端发送给服务器的格式。
响应协议:服务器发送给客户端的格式。
2.内容及包含
Request (请求协议)主要由三部分组成:
- 请求行:请求方式,路径,版本
- 请求头:以键值对形式存在
- 请求体:get方法中不存在,post方法中存在
Response(响应协议)主要由三部分组成:
- 响应行:版本 状态码 状态码说明
- 响应头
- 响应正文(体)
3.浏览器中的书写格式
4.HTTP协议的特点
- 支持客户/服务器模式。
- 简单快速。
- 灵活。
- 无连接。(服务器处理完客户的请求,并收到客户的应答后,即断开连接。)
但HTTP1.1 版本后支持可持续连接。 - 无状态。
5.HTTP之URL
HTTP URL (URL 是一种特殊类型的 URI,包含了用于查找某个资源的足够的信息)。
http://host[:port]/[abc_path]
http://IP(主机名/域名):端口/访问的资源路径
- http 表示要通过 HTTP 协议来定位网络资源;
- host 表示合法的 Internet 主机域名或 者 IP 地址;
- port 指定一个端口号,为空则使用缺省端口 80;
- abs_path 指定请求资源的 URI; 如果 URL 中没有给出 abs_path,那么当它作为请求 URI
时,必须以“/”的形式给出,通常 这个工作浏览器自动帮我们完成。
6.HTTP 请求
HTTP 请求由三部分组成,分别是:请求行、请求头、请求正文。
格式
请求行
请求头1
请求头2
…
请求空行
请求体
请求行以一个方法符号开头,以空格分开,后面跟着请求的 URI 和协议的版本。
7.HTTP 响应
在接收和解释请求消息后,服务器返回一个 HTTP 响应消息。
HTTP 响应也是由三个部分组成,分别是:
状态行、消息报头、响应正文。
格式
状态行
响应头1
响应头2
…
响应空行
响应体
8. 消息头
请求头
- Referer:该请求头指明请求从哪里来 。
如果是地址栏中输入地址访问的都没有该请求头 地址栏输入地址,通过请求可以看到,此时多了一个 Referer的请求头,并且后面的值 为该请求从哪里发出。比如:百度竞价,只能从百度来的才有效果,否则不算;通常用来做统计工作、 防盗链
响应头
- Location:Location响应报头域用于重定向接受者到一个新的位置。
Location响应报头域,常用在更换域名的时候。
response.sendRedirect("http://www.baidu.com")
- Refresh:自动跳转(单位是秒),可以在页面通过meta标签实现,也可在后台实现。
<meta http-equiv="refresh" content="3;url=http://www.baidu.com">