lesson12

1. Http

HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种应用层协议,用于在客户端(如浏览器)和服务器之间传输超文本数据。它基于请求-响应模型,客户端发送请求,服务器处理并返回响应。HTTP是无状态协议,即每次请求和响应都是独立的,服务器不会记录请求的上下文信息。

HTTP协议的主要特点包括:

  1. 基于TCP协议:HTTP协议使用TCP作为底层传输协议,确保数据的可靠传输。
  2. 请求-响应模型:客户端发起请求,服务器处理并返回响应。请求和响应是独立的,不共享上下文信息。
  3. 无状态协议:服务器不会记录请求的上下文信息,这使得HTTP协议简单、灵活,但可能导致多次请求之间无法共享数据。
  4. 头部字段:HTTP请求和响应包含头部字段,用于携带附加信息,如内容类型、编码方式等。
  5. 持久连接:HTTP/1.1引入了持久连接,允许在单个TCP连接上进行多个请求和响应的交互,减少连接建立和关闭的开销。

HTTP协议的工作过程包括以下几个步骤:

  1. 建立TCP连接:客户端和服务器建立TCP连接,用于传输HTTP数据。
  2. 客户端发送请求(Request):客户端发送HTTP请求,包含请求方法(如: GET、POST)、URL和HTTP版本等信息。
  3. 服务器处理请求:服务器解析请求,进行相应的处理。
  4. 服务器返回响应(Response):服务器返回HTTP响应,包含状态码(如: 200 OK、404 Not Found)和响应内容。
  5. 客户端处理响应:客户端解析响应,展示给用户或进行后续处理。

HTTP协议广泛应用于网页浏览、文件下载、表单提交等场景。随着互联网的发展,HTTP协议也不断演进,如HTTP/1.1、HTTP/2等,以适应新的需求和挑战。

http协议中用户发出请求一般以get请求(用于基础查询)和post请求(用于私密操作,修改数据等)作为操作。

get请求和post请求的主要区别

请求方法:(get,post)   状态码:200OK(请求成功,服务器正在处理你的请求)404Not Found(你的请求在服务器中不存在)500Internal serve error(服务器内部出现一些问题,无法响应你的请求) 401Unauthorized(你没有权限访问该资源) 302Found(你请求的资源被临时移动到另外一个位置) 503Service Unavailable(服务器无法处理你的请求,可能因为访问人数过多)

2. DNS

DNS(Domain Name System,域名系统)是一种用于将易于理解和记忆的域名转换为与之对应的IP地址的系统。它是互联网的基础组成部分,使得用户可以通过域名访问网站,而不需要记住复杂的IP地址。

DNS的工作原理如下:

  1. 域名解析:当用户输入一个域名(如www.example.com)时,浏览器会向DNS服务器发送一个查询请求,请求将域名解析为对应的IP地址。
  2. 递归查询:DNS服务器可以分为根DNS服务器、顶级域DNS服务器(如.com)和权威DNS服务器。当用户发起查询请求时,通常会先访问本地DNS服务器,如果本地DNS服务器不知道对应的IP地址,它会向上游的DNS服务器发起递归查询,直到找到对应的IP地址。
  3. 缓存机制:为了提高查询效率,DNS服务器会缓存查询结果。当一个DNS服务器收到查询请求时,它会先检查缓存中是否有对应的结果,如果有,则直接返回结果;如果没有,则进行递归查询,并将查询结果缓存起来,以便后续查询。

DNS的主要优点包括:

  1. 易于记忆和使用:域名比IP地址更易于记忆和使用,提高了用户体验。
  2. 灵活性:DNS允许将多个域名解析为同一个IP地址,或将一个域名解析为多个IP地址,方便进行负载均衡和故障切换。
  3. 可扩展性:DNS协议可以方便地添加新的记录类型和功能,以满足不断变化的需求。

DNS的主要缺点包括:

  1. 延迟:DNS查询需要时间,可能导致网页加载速度变慢。
  2. 安全性:DNS劫持和缓存投毒等攻击可能导致用户被引导至恶意网站。

为了解决DNS的延迟和安全性问题,研究人员和互联网公司正在开发新的技术,如DNS over HTTPS(DoH)和DNS over TLS(DoT),以提高DNS的安全性和性能。

举例:www(子域名).baidu(二级域名).com(顶级域名,主域名)

TTL:生存时间,表示DNS记录在DNS缓存中可以存活的时间。

3.部分linux命令回顾

设置允许root用户远程登陆(图文解析)

第一步:hostname(查看主机名) 

第二步:hostnamectl set-hostname u_buntu(userver)(重新设置主机名为u_buntu(userver))

第三步:cd etc/ssh     ls    nano sshd_config(相对路径进入ssh文件夹,查看,编辑sshd_config文件)

第四步:进入修改将允许root用户远程登陆设为yes,保存退出

第五步:service ssh restart(重启使设置生效)

测试80端口,安装nginx反向代理服务器(图文解析)

第一步:lsof -i:80(查看当前在80端口运行的进程)

第二步:curl http://localhost(向自己的本地计算机域名发送get请求,常用于测试是否连接80端口,因为80端口是HTTP协议默认的端口)

第三步:连接失败,安装nginx反向代理服务器(apt install nginx,apt updated(刚安装系统后需要更新,))

第四步:apt upgrade(升级所有的包,如果有应用在运行,不要升级,可能会导致应用无法运行)

第五步:再次安装nginx(apt install nginx)

第六步:重复第二步(成功)

第七步:用备案好的域名映射到主机IP

4.安装json-server

第一步:

进入nodejs.org官网,进入下载页面,选择linux系统,v20版本,点击复制到剪贴板,进入ubuntu命令行界面粘贴,回车,apt install npm(失败)(这个命令实际上是错误的,因为 npm 不是通过 apt 直接安装的)

第二步:

切换到此页面,点击下载

第三步:输入命令

详细命令:apt install lrzsz(提供文件传输的功能)  l(列出当前文件夹内容) mv node-v20.17.0-linux-x64.tar.xz ../(将node...文件夹移动到上一层目录中) ls(列出当前文件夹内容) cd..(移动到上一层目录)ls () rm -rf .nvm/(删除目录及相关文件) ls() tar xf node...(解压文件) ls() cd node..(进入文件夹) l() cd../() mv node...  /usr/local/(将文件夹移动到/usr/local中) cd /usr/local(cd进入) mv node.... node(将次文件夹重命名为node) cd node/bin/() ls().....等等

   nano /etc/profile.d/node-bin.sh,配置环境变量export PATH $PATH /usr/local/nade/bin,保存退出后source node-bin.sh,然后便可启动

5.新闻网页


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值