HTTP协议

HTTP协议

在学习web通信机制前首先得学习一下http协议,所以有了这篇博客。

1、 协议的概念:

规定被约束的对象需要遵守的规则!

2、HTTP协议

HTTP协议:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。

HTTP协议规定: 浏览器(客户端)向服务器发送何种格式的数据,服务器 会处理数据,向浏览器(客户端)作出响应。(向客户端发送何种格式的数据)

HTTP协议的特点:
1. HTTP协议遵守一个请求响应模型.
2. 请求和响应必须成对出现.
3. 必须先有请求后有响应.
4. HTTP协议默认的端口:80

3、 HTTP协议的请求部分

3.1 客户端向服务器发送的数据的格式:

GET请求方式的抓包

GET /WEB09/demo1/subSucc.html?username=aaa&password=123 HTTP/1.1
Accept: text/html, application/xhtml+xml, */*  ——支持数据类型
X-HttpWatch-RID: 63397-10023
Referer: http://localhost:8080/WEB09/demo1/demo1.html
Accept-Language: zh-Hans-CN,zh-Hans;q=0.5  ——语言环境
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate  ——支持压缩
Host: localhost:8080  ——访问主机
Connection: Keep-Alive  ——链接状态

POST方式的抓包:

POST /WEB09/demo1/subSucc.html HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
X-HttpWatch-RID: 63397-10049
Referer: http://localhost:8080/WEB09/demo1/demo1.html
Accept-Language: zh-Hans-CN,zh-Hans;q=0.5
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: localhost:8080
Content-Length: 25
Connection: Keep-Alive
Cache-Control: no-cache
username=aaa&password=123

3.2 【请求行】
请求方式 请求路径 协议版本

  • 请求方式:请求方式有很多种 常用的是GET和POST.
  • GET和POST区别?
    • GET:请求参数会显示到地址栏.GET方式有大小的限制.GET方式没有请求体
    • POST:请求参数不会显示到地址栏.在请求体中.POST没有大小限制.POST方式有请求体.
  • 只有表单设置为method=”post”才是post请求.其他的都是get请求
    3.3 【请求头】
  • 请求头通常都是key:value的键值对的形式.一般情况下一个key对应一个value但也有一个key对应多个value的情况.
  • Referer :网站的来源.防盗链.
  • User-Agent :获得客户端浏览器的信息.(文件下载:IE:URL编码 火狐Base64)
  • If-Modified-Since :和响应中一个头一起使用 完成本地缓存的查找.
    3.4 【请求体】

POST方式 提交的请求参数

4、HTTP协议的响应部分

4.1 服务器向客户端发送的数据的格式:

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Accept-Ranges: bytes
ETag: W/"147-1455670867735"
Last-Modified: Wed, 17 Feb 2016 01:01:07 GMT
Content-Type: text/html
Content-Length: 147
Date: Wed, 17 Feb 2016 01:17:06 GMT

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>鎻愪氦鎴愬姛</h1>
</body>
</html>

4.2 【响应行】
协议版本 状态码 状态码描述
200:响应成功
302:重定向
304:查找本地缓存
404:浏览资源不存在.
500:服务器内部错误.
4.3 【响应头】
一个key对应一个value,也有一个key对应多个value的头.
Last-Modified :最后的修改文件的事件.与If-Modified-Since一起使用.
Refresh :定时刷新.
Location :重定向的路径.
Content-Disposition:文件下载的时候使用的头信息.
禁用浏览器缓存:
Pragma
Expires
Cache-Control
4.4 【响应体】

页面要显示的内容.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值