【计算机⽹络】---HTTP与HTTPS协议详解
HTTP与HTTPS协议详解
引⾔:当我们打开⼀个⽹页时,奇妙之旅就此开始,作为对世界了解的⼀个重要窗⼝,从打开⽹页或者输⼊⽹址后,这中间到底都发⽣了些什么呢?带着种种疑惑,我们⼀起来探索⼀下这其中的奥秘!
⼀.URL
定义:在www上每⼀信息资源都有统⼀的且在⽹上唯⼀的地址,该地址就叫URL(Uniform Resource Locator,统⼀资源定位符),它是www的统⼀资源定位符,就是指⽹络地址。
语法:URL由三部分组成:资源类型、存放资源的主机域名、资源⽂件名。
也可认为由4部分组成:协议、主机、端⼝、路径
浏览器中输⼊URL
1在浏览器中输⼊想要访问的⽹址。
2.浏览器查域名的IP地址,⾸先需要确认的是域名所对应的服务器IP地址,由DNS服务器将域名解析成
对应的服务器IP地址。
DNS查过程:
·浏览器缓存:浏览器会缓存DNS记录的⼀段时间,⼀般在2分钟到30分钟之间。
·系统缓存:如果浏览器缓存⾥没有到需要的记录,浏览器会做⼀个系统调⽤(即gethostbyname函数),这样就可以轻松获得系统缓存中的记录。
·路由器缓存:接下来,前⾯的查询请求发向路由器,它⼀般那会有⾃⼰的DNS缓存。
·ISP DNS缓存:紧接着就要check ISP缓存的DNS服务器,在这⾥⼀般都能到相对应的缓存记录。
·递归搜索:最终,ISP的DNS服务器从根域名服务器开始递归搜索,从顶级域名服务器到⽹站的域名服务器,⼀般DNS服务器的缓存中会有域名服务器中的域名。
3.根据HTTP协议格式,组织HTTP请求(HTTP协议格式)
4.搭建TCP客户端(TCP 协议格式特性----⾯向连接、可靠传输)
5.经过各层封装,路由选择发送到服务器
6.服务器根据HTTP协议格式解析请求,业务处理,组织相应数据,发送⼀个HTML响应给客户端,服务器端收到请求后的由web服务器(准确说应该是http服务器)处理请求,诸如Apache、Ngnix、IIS等。web服务器解析⽤户请求,知道了需要调度哪些资源⽂件,再通过相应的这些资源⽂件处理⽤户请求和参数,并调⽤数据库信息,最后将结果通过web服务器返回给浏览器客户端。
7.关闭三次握⼿,进⾏四次挥⼿结束连接。
8.浏览器解析HTML,准确地说,浏览器需要加载解析的不仅仅是HTML,还包括CSS、JS。以及还要加载图⽚、视频等其他媒体资源。浏览器通过解析HTML,⽣成DOM树,解析CSS,⽣成CSS规则树,然后通过DOM树和CSS规则树⽣成渲染树。渲染树与DOM树不同,渲染树中并没有head、display为none等不必显⽰的节点。要注意的是,浏览器的解析过程并⾮是串连进⾏的,⽐如在解析CSS的同时,可以继续加载解析HTML,但在解析执⾏JS脚本时,会停⽌解析后续HTML,这就会出现阻塞问题。
9.浏览器布局渲染,根据渲染树布局,计算CSS样式,即每个节点在页⾯中的⼤⼩和位置等⼏何信息。HTML默认是流式布局的,CSS和js 会打破这种布局,改变DOM的外观样式以及⼤⼩和位置。这时就要提到两个重要概念:repaint和reflow。
10.最终浏览器将界⾯展⽰给⽤户。
⼆.HTTP协议
1.http协议介绍
①HTTP协议(HyperText Transfer Protocol,超⽂本传输协议)是因特⽹应⽤最为⼴泛的⼀种⽹络协议,所有的WWW⽂件都必须要遵守这个给协议标准。
②HTTP协议是基于TCP/IP通信协议来传输数据的(例如上边访问⽹页URL中的HTML⽂件以及图⽚,资料查询结果等)
③HTTP协议通常承载于TCP协议之上,那么我们的HTTPS就是在其基础上添加了TLS或SSL协议。
④HTTP协议是⼀个应⽤层协议,由请求和响应构成,是⼀个标准的客户端服务器模型。注意:HTTP是⽆状态的协议。ssl协议全称
⑤HTTP默认端⼝为80端⼝。
2.HTTP请求⽅法
⽅法描述
1GET请求指定的页⾯信息,并返回实体主体。
2HEAD类似于 GET 请求,只不过返回的响应中没有具体的内容,⽤于获取报头
3POST 向指定资源提交数据进⾏处理请求(例如提交表单或者上传⽂件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建⽴
和/或已有资源的修改。
4PUT从客户端向服务器传送的数据取代指定的⽂档的内容。
5DELETE请求服务器删除指定的页⾯。
6CONNECT HTTP/1.1 协议中预留给能够将连接改为管道⽅式的代理服务器。7OPTIONS允许客户端查看服务器的性能。
8TRACE回显服务器收到的请求,主要⽤于测试或诊断。
9PATCH是对 PUT ⽅法的补充,⽤来对已知资源进⾏局部更新 。
3.HTTP请求格式
HTTP请求没有body(参数)的格式:
HTTP请求有body(参数)的格式:
请求⾏:
⽅法:
GET 获取资源
POST 向服务器端发送数据,传输实体主体
PUT 传输⽂件
HEAD 获取报⽂⾸部
DELETE 删除⽂件
OPTIONS 询问⽀持的⽅法
TRACE 追踪路径
协议/版本号
URL
请求头:
通⽤⾸部(General Header)
请求⾸部(Request Header)
响应⾸部(Response Header)
实体⾸部(Entity Header Fields)
请求体
4.HTTP协议的特点:
⽆状态:协议对客户端没有状态存储,对事物处理没有“记忆”能⼒,⽐如访问⼀个⽹站需要反复进⾏登录操作。
⽆连接:HTTP/1.1之前,由于⽆状态特点,每次请求需要通过TCP三次握⼿四次挥⼿,和服务器重新建⽴连接。⽐如某个客户机在短时间多次请求同⼀个资源,服务器并不能区别是否已经响应过⽤户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。
基于请求和响应:基本的特性,由客户端发起请求,服务端响应 简单快速、灵活。
通信使⽤明⽂、请求和响应不会对通信⽅进⾏确认、⽆法保护数据的完整性。
5.HTTP⼯作流程
⼀次HTTP操作称为⼀个事务,其⼯作过程分为4步
⾸先客户机与服务器需要建⽴连接,只要单击某个超链接,HTTP就开始⼯作。
建⽴连接后,客户机发送⼀个请求给服务器,请求⽅式的格式为:统⼀资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
服务器接收到请求后,给予相应的响应信息,其格式为⼀个状态⾏,包括信息的协议版本号、⼀个成功或错误的代码,后边是MIME信息包括服务器信息,实体信息和可能的内容。
客户端接收服务器所返回的信息通过浏览器显⽰在⽤户的显⽰屏上,然后客户机与服务器断开连接。
三.HTTPS协议

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。