• Web协议:HTTP协议


    HTTP协议

    HTTP

    HTTP(Hyper Text Transfer Protocol),超文本传输协议是一个简单的请求-响应协议,通常运行在TCP之上。它是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。它工作在C/S架构上,浏览器(HTTP客户端)通过URL向Web服务器(HTTP服务端)发送请求,而服务端根据接收到的请求后,向客户端响应信息。

    在这里插入图片描述

    HTTPS

    HTTPS (Hyper Text Transfer Protocol over SecureSocket Layer),超文本传输安全协议是以安全为目标的 HTTP 通道(即HTTP的安全版),在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS相当于HTTP 加入了SSL(Secure Sockets Layer 安全套接字协议),HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面 。

    URL

    HTTP使用URL来传输数据和建立连接。URL(uniform resource locator 统一资源定位符)是因特网的万维网服务程序上用于指定信息位置的表示方法。即任何网站、网页等在线资源的完整网址。

    示例,简单介绍URL的组成:

    https://blog.csdn.net/qq_56886142/category_11700124.html?spm=1001.2014.3001.5482&id=AQ_Teacher&pwd=123#blog
    
    • 1
    • 协议:“https:”。"HTTPS"后面的“//”为分隔符。

    • 域名:“blog.csdn.net”。一个URL中,也可以使用IP地址作为域名使用。

    • 端口:域名后面的是端口,域名和端口之间使用“:”作为分隔符。一般使用默认端口,可省略。

    • 虚拟目录:从域名后的第一个“/”开始到最后一个“/”。虚拟目录也不是URL必须的部分。

    • 文件名:从域名后的最后一个“/”开始到“”。如果没有“”,则是从域名后的最后一个“/”开始到“#”是文件名部分;如果没有“”和“#”,那么从域名后的最后一个“/”开始到结束都是文件名部分。文件名也不是URL必须的部分,一般使用默认文件名,可省略。

    • :从“#”开始到最后。锚也不是URL必须的部分。

    • 参数:从“”开始到“#”,又称搜索部分、查询部分。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。

    Request

    Request(请求报文)是指客户端向服务器端发送的请求消息,它包含请求行、请求头和请求体三部分。

    下面向Register.html发起请求,地址栏输入URL回车,如图:

    在这里插入图片描述

    点击注册,向Register发起请求并跳转到该页面,如图:

    Register

    请求行

    请求行是展现当前的请求方式、访问地址、HTTP协议的版本的信息。

    Register.html请求行:
    在这里插入图片描述

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

    请求头

    请求头是以具体的参数方式来详细说明本次的请求。

    Register.html请求头:

    在这里插入图片描述

    Register请求头:

    在这里插入图片描述

    其中:

    • Accept:声明当前请求能够接受的MIME(Multipurpose Internet Mail Extensions(多用途互联网邮件扩展))文件类型
    • Host:服务器的主机地址
    • Referer:当前请求来源页面的地址
    • Content-Length:请求体内容的长度
    • Content-Type:请求体的内容类型,这一项的具体值是媒体类型中的某一种
    • User-Agent:浏览器名称

    请求体

    请求体是将一个页面表单中的组件值通过param1=value1¶m2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数据。即POST请求方式下的请求参数。

    Register.html的请求方式是GET,而GET方式是没有请求体的。

    在这里插入图片描述

    Register的请求方式是POST,请求体如下:

    在这里插入图片描述

    GET请求与POST请求

    GET是从服务器上获取数据,POST是向服务器传送数据。

    GET请求的请求参数附着在URL后面,浏览器地址栏能够看到,所以安全性低( GET请求的请求参数放在请求行中); 而且URL携带请求参数的容量有限,如果数据量大,那么超出容量的数据会丢失。

    POST请求的请求参数放在请求体中,浏览器地址栏看不到,所以相对安全些;而且请求体发送数据的空间没有限制,可以发送各种不同类型的数据。

    Response

    Response(响应报文)一般情况是服务器接受并处理客户端发起的请求后返回的HTTP响应消息。它包含响应行、响应头和响应体三部分。

    下面查看Register.html的响应,如图:

    在这里插入图片描述

    Register的响应:

    在这里插入图片描述

    响应行

    响应行是展现HTTP协议版本、响应状态码和响应状态的说明文字的信息。

    Register.html的响应行:

    在这里插入图片描述

    Register的响应行:

    在这里插入图片描述

    其中,响应状态码分为五种:

    • 1**:指示信息——请求已接收,继续处理
    • 2**:成功——请求已被成功接收理解
    • 3**:重定向——完成请求需要更进一步的操作
    • 4**:客户端错误——请求无法实现或请求语法错误
    • 5**:服务端错误——服务端不能实现合法的请求

    响应头

    响应头是对响应体的信息的说明。

    Register.html的响应头:

    在这里插入图片描述

    Register的响应头:

    在这里插入图片描述

    响应体

    响应体是服务器返回各种数据的主体。

    Register.html的响应体:

    在这里插入图片描述

    Register的响应体:

    在这里插入图片描述

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    koa开发热加载、ES6语法进阶篇,了解后端数据请求的过程,提升开发。
    C语言大小端速通
    云计算导论(3)---分布式文件系统
    黑*头条_第5章_文章发布&粉丝管理成形记
    Java版本+企业电子招投标系统源代码+支持二开+招投标系统+中小型企业采购供应商招投标平台
    MySql索引详解-各种索引的定义与区别和应用
    Linux 安装 kubemini
    肉眼无法读懂是二进制独有的浪漫——一篇博客学懂文件操作(C语言)
    学习react的getSnapshotBeforeUpdate和其他生命周期
    学习历程_基础_精通部分_达到手搓的程度
  • 原文地址:https://blog.csdn.net/fwdwqdwq/article/details/126080472