• 【JavaWeb】之Http协议



    前言

    本文为JavaWeb之Http协议相关知识介绍,Java全栈学习路线可参考:【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引,内含最全Java全栈学习技术清单~

    一、什么是HTTP

    HTTP(超文本传输协议)是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。

    • 文本:html,字符串,~ ….
    • 超文本:图片,音乐,视频,定位,地图…….
    • 端口:80

    HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。

    • 端口:443

    二、Http请求

    客户端——>发请求——>服务器
    HTTP请求的完整地址:https://blog.csdn.net/qq_42146402/article/details/127346459

    一个HTTP请求报文由3个部分组成:

    • 请求行(request line)
    • 请求头部(headers)
    • 请求体(request body)

    1.请求行

    以访问百度为例:
    在这里插入图片描述

    Request URL:请求地址
    Request Method:请求方式,一般是GET/POST
    Status Code:状态码:200表示成功,404表示没有找到资源,500表示服务器错误....
    Remote Address:远程地址
    
    • 1
    • 2
    • 3
    • 4
    • 请求行中的请求方式:GET
    • 请求方式:GET,POST,HEAD,DELETE,PUT,TRACT…
      GET:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但是高效
      POST:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但是不高效

    2.请求头部

    Accept:告诉浏览器,它所支持的数据类型
    Accept-Encoding:支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
    Accept-Language:告诉浏览器,它的语言环境
    Cache-Control:缓存控制
    Connection:告诉浏览器,请求完成是断开还是保持连接
    HOST:主机
    ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3.请求体

    请求体是将一个页面表单中的组件值通过param1=value1¶m2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数据。不但报文体可以传递请求参数,请求URL也可以通过类似于“/chapter15/user.html? param1=value1¶m2=value2”的方式传递请求参数。

    三、Http响应

    服务器——>响应——>客户端

    HTTP响应报文也由三部分组成:

    • 响应状态码
    • 响应头
    • 响应体

    1.响应状态码

    • 200:请求响应成功
    • 3xx:请求重定向
    • 4xx:找不到资源 404资源不存在
    • 5xx:服务器代码错误

    2.响应头

    HTTP响应中的常用响应头(消息头):

    Accept:告诉浏览器,它所支持的数据类型
    Accept-Encoding:支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
    Accept-Language:告诉浏览器,它的语言环境
    Cache-Control:缓存控制
    Content-Type:text/html 类型
    Content-Encoding:gzip 编码
    Refresh:告诉客户端,多久刷新一次;
    Connection:告诉浏览器,请求完成是断开还是保持连接
    HOST:主机..../.
    Location:让网页重新定位;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3.响应体

    • 是服务器返回给客户端的文本信息。

    后记

    Java全栈学习路线可参考:【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引,内含最全Java全栈学习技术清单~

  • 相关阅读:
    6.认识Java的API 使用Java函数库
    Nginx在前后端分离项目中的配置
    CSS外边距重叠:原理、结果
    轻量化Backbone | ShuffleNet+ViT结合让ViT也能有ShuffleNet轻量化的优秀能力
    pinia状态管理器使用
    springboot拦截器配置
    Leetcode 1584. 连接所有点的最小费用(手撸普利姆算法)
    融资超25亿,智谱AI推出第三代基座大模型ChatGLM3
    k8s存储卷 PV和PVC
    Mybatis简介
  • 原文地址:https://blog.csdn.net/qq_42146402/article/details/127346459