HTTP 、HTTPS

HTTP 、HTTPSHTTP和HTTPSCookie和SessionHTTP报文格式HTTP请求方法HTTP响应的状态码

大家好,欢迎来到IT知识分享网。

HTTP和HTTPS

  • 一、HTTP和HTTPS
  • 二、Cookie和Session
  • 三、HTTP报文格式
  • 四、HTTP请求方法
  • 五、HTTP响应的状态码

一、HTTP和HTTPS

HTTP:
超文本传输协议(HTTP)是一个简单的请求-响应协议, 是一个应用层协议,它以 TCP(传输层)作为底层协议,默认端口为 80

在这里插入图片描述

HTTP协议的特点:

在这里插入图片描述
无状态简单说就是HTTP对历史没有记忆

HTTP有基于长连接和基于短连接两种(HTTP的长连接和短连接本质上是TCP长连接和短连接)

在HTTP/1.0中默认使用短连接。客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。当客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源,每遇到这样一个Web资源,浏览器就会重新建立一个HTTP会话。

但从 HTTP/1.1起,默认使用长连接,用以保持连接特性。一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的 TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。

HTTPS:
HTTPS 是 HTTP 的加强安全版本。HTTPS 是基于 HTTP 的,也是用 TCP 作为底层协议,并额外使用 SSL/TLS 协议用作加密和安全认证。默认端口号是 443

HTTP&&HTTPS:
HTTP 所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。
HTTPS 是运行在 SSL/TLS 之上的 HTTP 协议,SSL/TLS 运行在 TCP 之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。

HTTP 安全性没有 HTTPS 高,但是 HTTPS 比 HTTP 耗费更多服务器资源。

二、Cookie和Session

HTTP是无状态的,我们用Cookie 和 Session 来跟踪浏览器用户身份

Cookie是保存在客户端的小型文本文件,Cookie中可以保存用户的一些信息,包括ID和密码,浏览器向服务器发送HTTP请求时会携带Cookie信息,Cookie被盗后可能泄露密码等重要信息。

Session 的作用是通过服务端记录用户的状态。服务端给特定的用户创建特定的 Session 之后就可以标识这个用户并且跟踪这个用户了。

通常两种方式都会使用。客户端通过服务端验证后,服务端返回给用户一个session id,保存在cookie中,之后客户端发起HTTP请求会携带session id

三、HTTP报文格式

在这里插入图片描述
首行: [方法] + [url] + [版本]

Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束

Body: 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有一个
Content-Length属性来标识Body的长度

使用postman查看一个HTTP请求报文
在这里插入图片描述
空行存在的意义:
实现报头和有效载荷分离,方便交付给上层协议。

在这里插入图片描述

首行: [版本号] + [状态码] + [状态码解释]

Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束

Body: 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有一个
Content-Length属性来标识Body的长度

使用postman查看一个响应报文
在这里插入图片描述
HTTP常见header:

Content-Type: 数据类型(text/html等)
Content-Length: Body的长度
Host: 客户端告知服务器, 所请求的资源是在哪个主机的哪个端口上;
User-Agent: 声明用户的操作系统和浏览器版本信息;
referer: 当前页面是从哪个页面跳转过来的;
location: 搭配3xx状态码使用, 告诉客户端接下来要去哪里访问;
Cookie: 用于在客户端存储少量信息. 通常用于实现会话(session)的功能

四、HTTP请求方法

http请求方法有很多,最常用的是POST与GET

POST与GET两种请求方式的区别

GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。

POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。

因此,GET请求的数据会暴露在地址栏中,而POST请求则不会,
而且GET请求参数大小受限,POST提交的数据可以较大。

五、HTTP响应的状态码

在这里插入图片描述

常见的状态码

200(OK)
404(Not Found)
403(Forbidden) 没有权限访问网站

3开头的重点向相关的状态码有临时重点向和永久重点向之分,可参考这里🔗

临时重定向与永久重定向最大的本质区别:

临时重定向:浏览器不会缓存当前域名的解析记录
永久重定向:浏览器会缓存永久重定向的DNS解析记录。即域名永远跳转至另外一个新的域名,之前的域名再也不使用,跳转记录可以缓存到客户端浏览器

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/27484.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信