Web基础和Http协议

web基础与http协议

一、web

1、web、http(s)

web:就是网页,打开网站展示的页面。(全球广域网---world wide web,又叫万维网)分布式图形信息系统

http:超文本传输协议

https:(加密的)超文本传输协议

2、分布式

分布式图形信息系统

!

概念:计算机系统或者是应用程序,分布在多台计算机或者服务器上。通过计算机网络互相通信和协作,共同完成任务或者共同对外提供一致的服务。

设计目标:把工作负载分散到多个节点上。每个节点既是一个整体,也是一个独立的运行体。这种设计提供了高可用的架构,允许分布式节点的服务器出现故障。

3、集群

概念:建立在分布式的基础之上,把多台计算机或者是服务器连接在一起,作为一个整体,形成一个单一的计算资源,也是通过网络连接,共享任务和资源负载,实现高性能和高可用。这些计算机或者服务器,他们的性能基本一致,运行的服务或者应用程序都一致。

目标:通过增加节点和减少节点实现弹性伸缩,提高处理能力和容量。(数据中心、web服务器都是出于集群,大数据处理等等)

4、web的组成结构

网页:纯文本格式的文件,HTML语言(超文本标记语言),是一种规范,也是一种标准。通过标记符号来显示网页中的各个部分。一般来说,我们访问的页面都是.html或者.htm(也是网站的首页)浏览器把html语言进行翻译,形成用户看到的页面》

网站:由一个一个的页面组成,是一个网页的组合体。

域名:访问网站或者浏览页面时输入的地址,也可以叫网址。(www.baidu.com-------与ip地址做映射)

http\https:用来传输网页的通信协议,https就是加密,是一种客户端和服务端之间通信、交互的标准和规范。

URL:万维网的寻址系统,是网站在互联网上的唯一标识。

https://show,bilibili.com/platform/home.html?msource=pc web&spm id from=666.5.0.0

URI:/platform/home

超链接:把网站中的不同网页连接起来

发布:把制作好的网页部署到互联网上,可以分为内和外

内部访问:不提供互联网的对外访问,只能内部局域网访问

外部访问:互联网上公开的页面,所有人都可以访问的页面

5、web的版本

web1.0:网页编辑好之后,用户直接阅读内容,用户无法对页面进行编辑、更改、创建其他内容(网站到用户----单向的)

web2.0:用户也是访问编辑好的页面,但是这个页面用户可以对其进行二次开发(包括分享、弹幕、点赞、送礼等等都是web2.0的新特征),是一个开发的平台。

静态页面:就是标准的HTML文件,文件的扩展名.html或者.htm,就是纯文本、图像、声音、动画等等组成的一个页面。网站建设的基础,早期的网站都是静态页面,没有后台数据库,没有其他程序,也无法交互的页面,更新起来比较麻烦,展示型网站,更新内容比较少的网站。他的URL地址是固定的,内容相对稳定,容易被搜索引擎检索,页面的浏览速度比较快,没有后台程序,不需要连接数据库,页面打开比较快。

动态页面:网页URL不固定,用户可以和后台进行交互(数据库),在动态页面的URL里面有一个符号" ?"。动态页面用的是PHP、JSP、python、ruby

bash 复制代码
动态页面的特点:
1.1 交互性,用户可以对网站发布的页面进行二次创造
1.2 自动更新
1.3 页面的内容会实时的发生变化

静态和动态页面的区别

1.1 静态页面:看

1.2 静态页面:交互

二、http协议和返回码

1、http和https

http:超文本传输协议

https:(加密的)超文本传输协议

bash 复制代码
http 0.9
http 1.0 基本淘汰
http 1.1 目前的主流
https 2.0 加密的协议   新一代的加密协议,是http1.1的升级版。

2、http1.0和http1.1之间的区别?

bash 复制代码
#缓存机制#
缓存可以把用户的一个行为和操作,保存下来,下次访问可以保留这些状态,不需要在和web服务器进行额外的通信,提高了访问效率。缓存有的是保存在本地,有的是保存在web服务器,现在得缓存基本是保存在用户的本机(缓存由浏览器保存),缓存的保留时间,一般来说是30天到180天,一般网站都是30天左右
http1.0只有一种缓存策略
http1.1引入更多的缓存策略
bash 复制代码
#长连接#
http1.1支持长连接,在一个tcp连接上可以传输多个http请求和响应。一次性获取页面所有内容
bash 复制代码
#带宽优化和网络连接的使用#
http1.0一次只能获取一个对象,其他对象还要继续的建立连接获取数据
http1.1 只有建立了连接,除非数据发送完毕,否则不需要为了其他的资源专门再建立额外的连接

3、http的工作方式

请求----------客户端发起

响应----------服务端发起

3.1 请求

请求的方式:GET POST

请求的内容:请求头、请求体

method:GET 请求的方式

Accept:客户端获取的页面

Accept-Enocoding :客户端可以接受的编码方式

Accept-Language:客户端可以接受的语言类型

Cache-Control:客户端需要页面缓存的时间

Connection:keep-alive 客户端通知服务端,服务端在数据传输完毕之后不要马上关闭连接,让连接保持一段时间(60s、120s、180s)

Host:客户端请求的ip和端口

User-Agent:客户端的请求工具,用什么浏览器发起的请求以及发起的系统是什么

3.2 响应

响应----------服务端发起

响应的内容:响应头、响应体

Connection:响应客户端的连接方式

Content-Encoding:响应客户端的编码

Content-Type :响应编码的类型,发送数据的类型

Date :响应的时间

Server:使用web服务的软件和版本

Strict-Transport-Security:响应客户端的缓存时间

Request Method:客户端请求方式是get(GET)

Status Code:请求收到之后,服务端对请求的响应的状态码

3.3 响应码

1xx:100-101 信息提示 一般不考虑

2xx:200-206 成功

3xx :300-305 重定向和缓存

4xx :400-415 客户端错误(客户端请求的内容或是页面不存在)

5xx:500--505 服务端错误web服务软件本身处了故障,无法响应

3.4 http常见的状态码

200:ok 请求成功

301:永久重定向,请求的页面永久的到其他页面

302 :临时重定向,网站维护时使用

304 :访问的是本地缓存

403 :用户的请求禁止访问

404 :用户请求的网页不存在

500 :内部服务错误,一般是软件层面也有可能是硬件,也可能是防火墙

4、如果出现了500,怎么来排查这个错误?

501:Bad Gateway 无效网关(防火墙,限制了转发功能)

503:service unavailable 服务不可用

504:Gateway timeout 网关请求超时

5、post方式

区别于get,get就是向服务器发送请求,请求不带任何参数,由http协议自行约定的

post也是发送数据,也是依照http协议,post会更改服务器数据。post之后会在服务器上多一条数据,或者对原数据进行修改

get的请求可以被缓存,post没有缓存

get的请求记录会保存在浏览记录(cooike),post不会被保存

get就是获取数据,post会修改数据

get的请求长度是有限制的,而且请求的字符串会显示在url当中

post请求没有长度限制,而且字符串也不再url当中显示

动态页面.jsp .js .php为结尾的文件

相关推荐
东方隐侠安全团队-千里40 分钟前
网安瞭望台第17期:Rockstar 2FA 故障催生 FlowerStorm 钓鱼即服务扩张现象剖析
网络·chrome·web安全
神一样的老师1 小时前
面向高精度网络的时间同步安全管理架构
网络·安全·架构
与海boy2 小时前
CentOS7网络配置,解决不能联网、ping不通外网、主机的问题
linux·网络·网卡
我叫czc3 小时前
【python高级】342-TCP服务器开发流程
服务器·网络·tcp/ip
a_weng083 小时前
CS 144 check6: buiding an IP router
网络·网络协议·计算机网络
終不似少年遊*3 小时前
华为云计算HCIE笔记04
网络·华为云·云计算·学习笔记·hcie·认证·数据中心
红米饭配南瓜汤3 小时前
WebRTC服务质量(09)- Pacer机制(01) 流程概述
网络·音视频·webrtc
上学的小垃圾3 小时前
MPLS基础以及静态LSP的配置
运维·网络·算法
讨喜Dobi3 小时前
OSPF的基本配置
网络
码农丁丁4 小时前
[前端]HTTP库Axios
前端·网络协议·http·aixos