HTTP 协议

HTTP 协议

超文本传输协议(HTTP,HyperText Transfer Protocol)
是互联网上应用最为广泛的一种网络协议。 

所有的 WWW 文件都必须遵守这个标准。
设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。

HTTP 协议的作用

互联网的数据传输//底层依赖于 TCP 协议,

HTTP 协议架构在 TCP 协议之上,它//规范了传输数据的内容和格式。

看 HTTP 协议内容的工具

Chrome(谷歌浏览器)—— 按键 F12

Firefox(火狐浏览器)—— 按键 F12

准备

1. 创建名为 Demo 的 web 项目。

2. 在/web/目录下创建 login.html和 ok.html页面。
login.html
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="http://127.0.0.1:8080/Demo/ok.html" method="get"> 
姓名:<input type="text" name="username" value="小明"/><br/> 
密码:<input type="password" name="password" value="123456"/><br/>
<input type="submit" value="GET 提交"/>
</form>
<hr/>
<form action="http://127.0.0.1:8080/Demo/ok.html" method="post"> 
姓名:<input type="text" name="username" value="小明"/><br/> 
密码:<input type="password" name="password" value="123456"/><br/>
<input type="submit" value="POST 提交"/>
</form>
</body>
</html>

ok.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body> 
        成功
    </body>
</html>

3. 将 Demo 部署到 Tomcat,并启动 Tomcat。

4. 输入 http://127.0.0.1:8080/Demo/login.html 访问

5. 用 F12 按键观察 HTTP 协议

请求信息的组成部分

HTTP 请求一共分为三个部分:请求行,请求头,请求体。
POST /Demo/ok.html HTTP/1.1  请求行

Host: 127.0.0.1:8080    请求头
Connection: keep-alive
Content-Length: 43
Cache-Control: max-age=0
Origin: http://localhost:8080
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8

Referer: http://localhost:8080/Demo/login.html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9

username=xxx&password=123456  请求体

请求行

GET /Demo/ok.html?username=xxx&password=123456 HTTP/1.1
Get: 请求方式
访问路径: /Demo/ok.html?username=xxx&password=123456
HTTP 协议和版本: HTTP/1.1
POST /Demo/ok.html HTTP/1.1
POST: 请求方式
访问路径: /Demo/ok.html
HTTP 协议和版本: HTTP/1.1

请求头

Host: 127.0.0.1:8080 (服务器的域名)

Connection: keep‐alive (网络连接是持久的)

Content‐Length: 43 (发送数据的大小,单位字节)

Cache‐Control: max‐age=0 (设置缓存数据的存活时间,单位秒)

Origin: http://localhost:8080 (指示了请求来自于哪个站点——服务器名称)

Upgrade‐Insecure‐Requests: 1 (如果存在更安全的响应,客户端优先选择加密及带有身份验证的响应) Content‐Type: application/x‐www‐form‐urlencoded (发送数据的媒体类型——发挥作用类似后缀名:.mp3 .avi) User‐Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64)  AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36 (当前系统和浏览器版本) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Referer: http://localhost:8080/Demo/login.html 表示:本次请求,来源于 http://localhost:8080/Demo/login.html 路径。 Accept‐Encoding: gzip, deflate, br Accept‐Language: zh‐CN,zh;q=0.9 Cookie: JSESSIONID=98006861B5044ACC8D5C7840C93C17DA

请求体

GET 请求没有请求体,
POST 请求有请求体,POST 请求体的内容就是表单提交的内容.

请求体原始信息

username=xxx&password=123456

Google 包装请求体信息

username: xxx
password: 123456

HTTP 协议 GET 请求方式

GET:有请求行,有请求头,无请求体

HTTP 协议 POST 请求方式

POST:有请求行,有请求头,也有请求体
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值