前言:“不是井里没有水,而是你挖的不够深;不是成功来的慢,而是你努力的不够狠。”
你好,我是梦阳辰!一起学习起来吧!
文章目录
01.HTTP概述
02HTTP协议的组成
03.HTTPS协议
01.HTTP概述
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。是一个基于请求与响应的模式的,无状态的网络协议。是浏览器和服务器间最常用的通讯协议。HTTP协议是浏览器与服务期间的数据传递格式的一种约定,浏览器与服务器只要都遵循这个约定,就可以进行数据通讯了。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。设计HTTP的初衷就是为了提供一种发布和接受HTML页面的方法。
1.请求与响应
由浏览器向服务器发送数据,称为请求(request)。由服务器向浏览器发送数据,则成为Response。
2.HTTP版本
客户端若要向服务器发出请求,必须首先在他们之间创建一个TCP(Transfer Control Protocal,传输控制协议)连接。而当客户端与服务器通讯结束后,TCP连接将被关闭。而这个链接就是基于HTTP协议的。
HTTP1.1还允许客户端不用等待上一次请求结果返回,就可以发出下一次请求,但服务器端必须按照接收到客户端请求的先后顺序依次回送响应结果。为了防止服务器主动将TCP连接关闭,在每一个请求中都携带了一个参数Connectiong,用于告诉服务器是否关闭连接。由客户端发送了关闭TCP连接时,服务器才会将TCP连接关闭。
02HTTP协议的组成
HTTP协议包括两部分:请求协议与响应协议,分别用于制定请求与响应信息的格式。
1.请求协议
在学习请求协议前了解一下URL和URI.
URL:(Uniform Resource Locator)统一资源定位符,是互联网上标准资源的地址。可以在全群范围内唯一的确定一个资源。
URI:统一资源标识符,用于标识一个资源的名称。通过这种名称命名的资源可以被互联网定位和访问。
2.响应协议
3.状态码
当进行web应用访问时,经常会看到一些4开头或5开头的提示信息页面。这些就是HTTP协议制定的。让服务器传递给浏览器的状态码。表示服务器对当前请求的处理状态。
2开头:表示请求与响应成功。常见的状态码200
4开头:表示请求错误。其中常见的状态码是404
5开头:表示服务端错误。常见的状态码:500
4.GET和POST请求方式
HTTP协议规定,浏览器向服务器发送数据提交请求的提交方式有8种。但GET与POST请求最常用。
GET请求
由于GET请求会将请求的所携带的参数作为请求URL中的一部分出现,所以请求参数会显示在地址栏。这导致了GET的三点不足。
参数值只能是字符串,而不能是其他类型。
可以携带的数据量小。
数据安全性低。
但是:GET请求有个很重要的特征:客户端一旦接收到“服务器向GET请求发送的响应”后,浏览器会自动缓存响应。当客户端再次进行相同请求提交时,将直接读取本地浏览器缓存中数据,而不再向服务端真正发送数据。让用户感觉服务端的响应很快,提升用户体验,减轻了服务器压力。
第一:GET请求的目的一般是客户端要从服务端下载资源。发送相同的请求就代表要下载相同的资源。如果已经被下载了,就无需再下载了。
POST请求的目的一般是客户端要向服务端上传资源。对于向服务端上传资源后相应的结果,浏览器是无需缓存的。
第二:两种提交方式的比较难易程度是不同的。
GET提交方式的请求只包含请求行,请求头与空行三部分。所以第二次请求与前一次请求是否相同,浏览器很好做出比较。
POST提交方式所包含的数据量比较大,主要体现在请求正文内容多。对于POST提交,是否是相同请求的提交不好比较。
03.HTTPS协议
超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP Secure)是一种网络安全传输协议。具体介绍以前先来介绍一下以前常见的HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文,因此使用HTTP协议传输隐私信息非常不安全。HTTP使用80端口通讯,而HTTPS占用443端口通讯。在计算机网络上,HTTPS经由超文本传输协议(HTTP)进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。
不走心的努力,都是在敷衍自己!你要坚信所有现在越不过去的坎,将来总有一天会当成笑话说出来。
关注公众号【轻松玩编程】回复关键字“电子书”,“计算机资源”,“Java从入门到进阶”,”JavaScript教程“,“算法”,“Python学习资源”,“人工智能”等即可获取学习资源。