计算机网络(七)

一、HTTP协议

HTTP(HyperText Transfer Protocol,超⽂本传输协 )的协议。
HTTP是⽆连接, ⽆状态, ⼯作在应⽤层的协议。
⽆连接理解为: http协议本身是没有维护连接信息的, http的数据会交给⽹络协议栈传输层的TCP协议, ⽽TCP是⾯向连接的。 ⼤家注意区别。
⽆状态: HTTP 协议⾃身不对请求和响应之间的通信状态进⾏保存。也就是说在 HTTP 这个级别,协议对于发送过的请求或响应都不做持久化处理。

HTTP是可靠传输的,虽然HTTP无连接,自身不会维护连接信息,但是,它的数据最终会交给传输层的TCP协议,而TCP协议是可靠传输的,因此HTTP协议是可靠传输的。

二、URL的解释

万维网的内核部分是由三个标准构成的:

1)统一资源定位符(URL)。 负责标识万维网上的各种文档,并使每个文档在整个万维网的范围内具有唯一的标识符URL。
2)超文本传输协议(HTTP)。 一个应用层协议,它使用TCP连接进行可靠的传输,HTTP是万维网客户程序和服务器程序之间交互所必须严格遵守的协议。
3)超文本标记语言(HTML)。 一种文档结构的标记语言,它使用一些约定的标记对页面上的各种信息(包括文字、声音、图像、视频等)、格式进行描述。

在这里插入图片描述

三、HTTP与HTTPS

区别

在这里插入图片描述

对称加密和非对称加密

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、HTTP协议格式

在浏览器和服务器之间的请求与响应的交互,必须遵循规定的格式和规则,这些格式和规则就是HTTP。 因此HTTP有两类报文:
> 请求报文(从Web客户端向Web服务器发送服务请求)
> 响应报文(从Web服务器对Web客户端请求的回答)。

在这里插入图片描述
HTTP请求报文和响应报文都由三个部分组成。

在这里插入图片描述
在这里插入图片描述

五、HTTP协议版本

① HTTP/0.9(不常用)
② HTTP/1.0 (常用)
③ HTTP/1.1(常用)

④ HTTP/2.0(不常用)

HTTP的长链接和短链接

HTTP1.0默认使用的是短连接。浏览器和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。

HTTP/1.1起,默认使用长连接。要使用长连接,客户端和服务器的HTTP首部的Connection都要设置为keep-alive,才能支持长连接。

HTTP长连接,指的是复用TCP连接。多个HTTP请求可以复用同一个TCP连接,这就节省了TCP连接建立和断开的消耗。

HTTP1.0和HTTP1.1的区别

在这里插入图片描述

HTTP1.1和 HTTP2.0的区别

在这里插入图片描述

六、HTTP协议请求方法

在这里插入图片描述

1. GET:获取资源

GET 方法用来请求访问已被 URI 识别的资源。指定的资源经服务器端解析后返回响应内容。也就是说,如果请求的资源是文本,那就保持原样返回;(GET既能从服务器中去获取数据,也能向服务器中提交少量数据,提交的数据在URL中)

2.POST:传输实体主体

虽然用 GET 方法也可以传输实体的主体,但一般不用 GET 方法进行传输,而是用 POST 方法。虽说 POST 的功能与 GET 很相似,但 POST 的主要目的并不是获取响应的主体内容。(给服务器提交某些数据,提交的数据在正文中)

3.PUT:传输⽂件

PUT ⽅法⽤来传输⽂件。就像 FTP 协议的⽂件上传⼀样,要求在请求报⽂的主体中包含⽂件内容,然后保存到请求 URI 指定的位置。 但是,鉴于 HTTP/1.1 的 PUT ⽅法⾃身不带验证机制,任何⼈都可以上传⽂件 , 存在安全性问题,因此⼀般的 Web ⽹站不使⽤该⽅法。

4.HEAD:获得报文首部

HEAD方法和GET方法一样,只是不返回报文主体部分,用来确认资源的有效性。HEAD方法是不需要服务端返回响应正文的,使用HEAD方法,服务器只会返回响应首行、响应报头、空行。

5.OPTIONS:询问⽀持的⽅法

OPTIONS方法用来查询针对请求URL指定的资源支持的方法。即客户端询问当前服务器都支持哪些方法。

Get与POST的区别

在这里插入图片描述

七、HTTP状态码

1xx:表示通知信息,例如表示收到或者是正在处理
2xx:表示成功,例如表示接受或知道了
3xx:表示重定向,例如表示完成请求还需要采取进一步的行动
4xx:表示客户端的差错,例如表示请求中有语法错误或不能完成
5xx:表示服务器端的差错:例如表示服务器失效无法完成请求

① 200(OK):表示从客户端发来的请求在服务器端被正常处理了。
② 204(No Content):请求处理成功了,但没有资源要返回(没有正文)
③ 206(PartialContent):客户端进行了范围请求,服务器成功执行这一请求,

① 301(Moved Permanently) 永久性重定向 告诉服务器某一资源已被永久放在另一个URL中,以后访问需访问新的URL

② 302(Found) 临时性重定向 客户端要请求的资源临时被放到新的服务器中,以后访问此资源还是访问这个旧服务器
③ 303(See Other)要访问的资源已经更新

① 400(Bad Request):服务端无法理解客户端发送的请求:请求格式错误
② 401(Unauthorized):认证失败
③ 403(Forbidden):客户端请求访问某一资源被服务器拒绝了,即没有资格(权限)访问某一资源
④ 404(Not Found)服务器无法找到客户端请求的资源

① 500(Internal Server Error)
该状态码表明服务器端在执行请求时发生错误,也有可能是Web应用存在的bug或某些临时的故障
② 503(Service Unavailable)服务器繁忙

八、HTTP常见Header

在这里插入图片描述

cookie

在这里插入图片描述
在这里插入图片描述

cookie和session

cookie和session都是用来跟踪浏览器用户身份的会话方式。
> 区别:
1)cookie数据存放在客户的浏览器上,session数据放在服务器上。
2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session。
3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE。
因此,将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中。

九、HTTP操作过程

在这里插入图片描述

用户单击鼠标后所发生的事件按顺序如下(以访问清华大学的网站为例):

1)浏览器分析链接指向页面的URL (http://www.tsinghua edu.cn /chn/index.htm)。
2)浏览器向DNS请求解析www.tsinghua.edu.cn的IP地址。
3)域名系统DNS解析出清华大学服务器的IP地址。
4)浏览器与该服务器建立TCP连接(默认端口号为80)。
5)浏览器发出HTTP请求: GET /chn/index.htm.
6)服务器通过HTTP响应把文件index.htm 发送给浏览器。
7) TCP连接释放。 8)浏览器解释文件index.htm,并将Web页显示给用户。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值