2.3.2 HTTP协议,作用, 特点, 请求行/头/体, 响应行/头/体

目录

1 Http简介

HTTP协议的作用

HTTP协议的特点

HTTP协议默认的端口:80

Http协议的版本

HTTP协议有两种报文格式:

2 Http协议详解

2.1 Http请求报文详解

请求行

请求头

请求体

Http请求报文演示GET/POST

2.2 Http响应报文详解

响应行

响应头

响应体

Http响应报文演示


1 Http简介

什么是Http协议
HTTP协议:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。用于定义WEB浏览器与WEB服务器之间交换数据的过程。
传输协议:在客户端和服务器端通信时,规范了传输数据的格式


HTTP协议的作用

        HTTP协议是学习JavaWEB开发的基石,不深入了解HTTP协议,就不能说掌握了WEB开发,更无法管理和维护一些复杂的WEB站点。

HTTP协议的特点

        基于请求/响应模型的协议。请求和响应必须成对;必须先有请求,才会有响应
        简单快捷, 因为发送请求的时候只需要发送请求方式和请求路径即可
        无状态协议, 多次请求之间相互独立,不能交互数据

HTTP协议默认的端口:80

        例如: http://www.lagou.com:80

Http协议的版本

        HTTP/1.0,发送请求,创建一次连接,获得一个web资源,连接断开。
        HTTP/1.1,发送请求,创建一次连接,获得多个web资源,连接断开。

HTTP协议有两种报文格式:

请求报文:由客户端向服务器端发出的报文。
响应报文:从服务端到客户端的报文。

2 Http协议详解

2.1 Http请求报文详解

HTTP请求报文:由客户端向服务器端发出的报文。
HTTP请求报文格式:包含请求行、请求头、空行、请求体(只有post方式有) 四个部分

请求行

请求行格式:请求方式 资源路径 协议/版本
例如:POST /web01/login.html HTTP/1.1
请求行必须在HTTP请求格式的第一行。


请求方式:协议规定7种,常用两种:GET和POST
    GET请求:
            将请求参数追加在URL后面,不安全。例如:login.html?username=tom&password=1234
            URL长度限制GET请求方式的数据大小。
            没有请求体
    POST请求
            请求参数显示请求体处,较安全。
            请求数据大小没有限制。
            只有表单设置为method=”post”才是post请求.其他的都是get请求。
常见GET请求:地址栏直接访问、<a href=””>、<img src=””> 等

请求头

请求头: 描述了客户端向服务器发送请求时使用的http协议类型,所使用的编码,以及发送内容的长度,referer,等等。
请求头也是用的键值对key:value

请求体

通常情况下,只有post请求方式才会使用到请求体,请求体中都是用户表单提交的数据,每一项数据都使用键
值对key=value,多组值使用&相连。

        例如;username=tom&password=1234

Http请求报文演示GET/POST

创建页面,编写“login.html”,并提供表单,分别设置表单的提交方式为:get和post。将表单提交
位置设置成#,表示提交到当前表单。

<form action="#" method="post">
 用户名:<input type="text" name="username" value=""/> <br/>
 密 码:<input type="text" name="password" value=""/> <br/>
  <input type="submit" />
</form>

GET请求抓包数据:

POST请求抓包数据:

2.2 Http响应报文详解

响应报文:从服务端到客户端的报文。
HTTP响应报文格式:响应行、响应头、空行、响应体 四个部分

响应行

例如:HTTP/1.1 200 OK
格式:协议/版本 状态码 状态码描述
        状态码:服务器与浏览器用于确定状态的固定数字号码
                200 :请求成功。
                302 :请求重定向。
                304 :请求资源没有改变,访问本地缓存。
                404 :请求资源不存在。通常是用户路径编写错误,也可能是服务器资源已删除。
                500 :服务器内部错误。通常程序抛异常。

响应头

响应头: 用来描述服务器回给客户端浏览器的content的一些描述,例如: 我是什么服务器,我返回的是啥编码,我返回的内容有多长等等
响应头也是用的键值对 key:value

响应体

响应体,就是服务器发送给浏览器的正文。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="#" method="get">
        用户名: <input type="text" name="username" value=""/> <br/>
        密  码: <input type="text" name="password" value=""/> <br/>
        <input type="submit" />
    </form>
</body>
</html>

Http响应报文演示

如下图,我们提供的响应的抓包结果(Chrome浏览器)

猜你喜欢

转载自blog.csdn.net/chengh1993/article/details/109776504
今日推荐