Bootstrap

HTTP概念详解与案例测试

HTTP简介

HTTP协议:
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。用于定义WEB浏览器与WEB服务器之间交换数据的过程。
在这里插入图片描述

一般服务器就是说,有一些共享资源可以供其他用户使用,并且其他用户可以向上面上传资源的计算机个体

HTTP协议的作用

HTTP协议是学习JavaWeb开发的基石,帮助管理和维护⼀些复杂的WEB站点

HTTP协议的特点

  1. 是基于请求/响应模型的协议
    ①请求和响应必须成对;
    ②先有请求后有响应。
  2. HTTP协议默认的端口:80
eg: https://www.taobao.com:80

HTTP协议

  1. HTTP请求
    客户端服务器端
  2. HTTP请求格式
    包含请求行请求头空行请求体 四个部分

在这里插入图片描述
①请求行

例如:POST /web01/login.html HTTP/1.1
请求行必须在HTTP请求格式的第一行。
请求行格式:请求方式 资源路径 协议/版本
请求方式:协议规定7种,常用两种:GETPOST

GET请求:
1.将请求参数追加在URL后面,不安全。例如:login.html?username=tom&password=1234
2.URL长度限制GET请求方式的数据大小。
3.没有请求体

POST请求:
1.请求参数显示请求体处,较安全。
2.请求数据大小没有显示。
3.只有表单设置为method=”post”才是post请求.其他的都是get请求。

常见GET请求:
地址栏直接访问、<a href=””><img src=””>

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

常见请求头描述
Referer浏览器通知服务器,当前请求来自何处 。 如果是直接访问,则不会有这个头 。 常用于:防盗链
Cookie与会话有关技术,用于存放浏览器缓存的cookie信息
User-Agent浏览器通知服务器,客户端浏览器与操作系统相关信息

③请求体

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

例如;username=tom&password=1234

HTTP响应

服务端客户端

  1. HTTP响应格式
    响应行响应头空行响应体 四个部分
    在这里插入图片描述
    ①响应行
例如:HTTP/1.1 200 OK
格式:协议/版本 状态码 状态码描述
状态码:服务器与浏览器用于确定状态的固定数字号码

200 :请求成功。
302 :请求重定向。
304 :请求资源没有改变,访问本地缓存。
404 :请求资源不存在。通常是用户路径编写错误,也可能是服务器资源已删除。
500 :服务器没开机或服务器内部错误。通常程序抛异常。

②响应头

响应头: 用来描述服务器回给客户端浏览器的content的⼀些描述
响应头也是用的键值对 key:value
常见响应头描述
Location指定响应的路径,需要与状态码302配合使用,完成跳转
Content-Disposition文件下载的时候使用。通过浏览器以下载方式解析正文
Set-Cookie与会话相关技术。服务器向浏览器写入cookie
Refresh定时刷新

③响应体
服务器发送给浏览器的正文

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

在这里插入图片描述

;