Nginx使用—http基础知识

web访问流程

当我们在客户端通过浏览器输入网址的时候,这时候是访问不到服务器的,
先会去找到DNS解析服务器,DNS解析服务器返回IP地址,
客户端通过http协议向服务端发送请求,服务器响应请求并返回对应的资源给客户端,
就可以在浏览器上看到想要的资源了

DNS解析过程

当客户端向服务端发送请求的时候,
会先找到本地DNS服务器进行递归查询来查看是否有当前网址的ip地址,
如果有则返回,如果没有的话,先去根域名服务器查询,如果有则返回,
如果没有就向com顶级域名服务器进行查询,有则返回,
没有的话接着向权威域名服务器进行查询,查询到则返回,如果没有网址可能有误

http请求过程

当客户端与服务端进行连接的时候,
先要发起连接请求,
服务端收到连接请求之后回应客户端,
客户端再向服务端发送回应,正式建立连接(三次握手)
当客户端要断开和服务端连接时,
先向服务端请求断开连接,
服务端收到断开请求之后先回应客户端,
然后再向客户端再次确认是否断开连接,
客户端收到确认信息之后向服务端再次发送确认断开,这时候就断开连接了(四次挥手)

OSI七层模型

OSI七层模型分为应用层,表示层,会话层,传输层,网络层,数据链路层及物理层
在TCP/IP分为四层,应用层,传输层,网络互联层,网络访问层,
七层模型的应用层,表示层,会话层统称为应用层,
传输层和网络层独立,
数据链路层和物理层统称为网络访问层
TCP/IP的协议栈里面,
应用层包含NDS,ftp,http,telnet,nfp,tftp,snmp,
传输层包含tcp与udp,
网络层包含ip,网络访问层包含以太网,令牌环网等

HTTP请求响应

请求报文
get # 获得请求文件信息的数据内容(下载)
post # 用户提交数据至服务器端存储(上传,增资源)
put # 用户提交数据至服务器端存储(上传,改资源)
Request URL:HTTP://10.0.0.7/index.html # 请求的URL
Request Method:GET # 请求的方法
Status Code:200 OK # 当前的状态
Remote Address:10.0.0.7:80 # 远程的主机

状态码
200 成功
301 永久重定向(redirect) 
302 临时重定向(redirect) 
304 浏览器缓存
307 内部重定向(redirect)
400 客户端错误
401 认证失败
403 请求不到首页,权限被拒绝
404 资源找不到
500 服务器内部错误,程序代码错误
502 找不到后端的资源 bad gateway
503 服务器过载
504 请求超时

相关术语
PV : 页面独立浏览量
UV : 独立设备
IP : 独立IP

Web的结构组成

代理 

位于客户端和服务器之间的HTTP中间实体 

缓存 

HTTP的仓库,使常用页面的副本可以保存在离客户端更近的地方 

网关 

连接其他应用程序的特殊Web服务器 

隧道 

对HTTP通信报文进行盲转发的特殊代理 

Agent代理 

发起自动HTTP请求的半智能Web客户端

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/431794.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RS232串口硬件调试

视频链接(1~4) RS232串口硬件调试01---串口理论及报文格式_哔哩哔哩_bilibili RS232串口硬件调试02---示波器抓取串口波形_哔哩哔哩_bilibili RS232串口硬件调试03---串口波形解析_哔哩哔哩_bilibili RS232串口硬件调试04---串口bug如何解决_哔哩哔哩…

Cookie和session 及Web相关工具

一 Cookie (一)介绍 Cookie 又称为"小甜饼”。类型为"小型文本文件”,指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。由网景公司的前雇员…

C++ 创建链表并输出

目录 代码实现 输出结果 代码实现 #include <stdio.h> #include <stdlib.h> //#include <cstdio> //#include <vector> #include<iostream> #include<cstdlib> using namespace std;//定义一个结构体 ListNode的结构 struct ListNode…

保姆教程 Docker 部署微服务项目

大家好&#xff0c;我是奇兵。 文章比较长&#xff0c;请耐心看完&#xff01; 项目上线是每位学编程同学必须掌握的基本技能。之前我已经给大家分享过很多种上线单体项目的方法了&#xff0c;今天再出一期微服务项目的部署教程&#xff0c;用一种最简单的方法&#xff0c;带…

linux无法启动dhcp服务--Failed to start DHCPv4 Server Daemon.错误

linux dhcp服务搭建详细过程请看 linux系统dhcp服务部署 关于dhcp服务无法启动Failed to start DHCPv4 Server Daemon.错误 解决方法&#xff1a;虚拟网络编辑器中的也就是dhcp所要服务的子网ip地址要与dhcp.conf中的服务网段ip一致&#xff08;与上面subnet 192.168.1.0一致…

记录前端面试的一些笔试题(持续更新......)

文章目录 js相关数组去重数组对象去重 实现数组unshift数组扁平化tree型数据扁平化list数据转tree型数据 对象深拷贝防抖/节流函数柯里化函数管道 随便记录一些&#xff0c;面试或者工作中都会用到&#xff0c;实现的方法很多&#xff0c;这里只是一小部分&#xff0c;有更好的…

鸿蒙Harmony应用开发—ArkTS声明式开发(鼠标事件)

在鼠标的单个动作触发多个事件时&#xff0c;事件的顺序是固定的&#xff0c;鼠标事件默认透传。 说明&#xff1a; 从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。目前仅支持通过外接鼠标触发。 onHover onHover(event: …

BUUCTF-Misc-粽子的来历1

题目链接&#xff1a;BUUCTF在线评测 (buuoj.cn) 下载附件给了四个doc文件 用HXD打开看看 将乱码全部改成yy打开 保存后打开&#xff1a; 发现每行的字间距不相同&#xff0c;把大间距设为1小间距设为0试试 100100100001&#xff0c;flag为md5加密的值 最后得到flag{d473ee3d…

【Java JVM】对象回收判断

Java 对象回收判断是程序设计中至关重要的一环。在面向对象的编程中, 合理的对象回收策略直接影响着程序的性能和内存利用效率。 因此, 深入了解和准确判断 Java 对象的回收时机, 不仅可以优化程序的运行性能, 还能有效避免内存泄漏和资源浪费。 本文将简单的分析一下 JVM 中对…

【Java EE 】认识文件与Java文件操作

目录 &#x1f340;认识文件&#x1f338;树型结构组织 和 目录&#x1f338;文件路径&#xff08;Path&#xff09;&#x1f338;其他知识 &#x1f333;Java 中操作文件&#x1f338;File 概述&#x1f33b;属性&#x1f33b;构造方法&#x1f33b;方法 &#x1f338;代码示例…

stm32学习笔记:I2C通信协议原理和软件I2C读写MPU6050

概述 第一块&#xff1a;介绍协议规则&#xff0c;然后用软件模拟的形式来实现协议。 第二块&#xff1a;介绍STM32的iic外设&#xff0c;然后用硬件来实现协议。 程序一现象&#xff1a;通过软件I2C通信&#xff0c;对MPU6050芯片内部的寄存器进行读写&#xff0c;写入到配…

OJ输入问题+准备

写在之前&#xff1a; 发现题目输入是这样的&#xff1a; 我的问题&#xff1a;如何通过空格分割这些输入的字符串并分别保存&#xff01;&#xff01;&#xff08;C语言scanf好解决一点但我选择C....&#xff09; C引入了ostringstream、istringstream、stringstream这三个类…

【无标题】计算机主要应用于哪些领域

科学计算&#xff08;或称为数值计算&#xff09;、数据处理&#xff08;信息管理&#xff09;、辅助工程、生产自动化、人工智能。1、科学计算&#xff08;或称为数值计算&#xff09;&#xff1a;早期的计算机主要用于科学计算。目前&#xff0c;科学计算仍然是计算机应用的一…

计算机组成原理-累加器实验——沐雨先生

一、实验目的 1.理解累加器的概念和作用 2.连接运算器、存储器和累加器&#xff0c;熟悉计算机的数据通路 3.掌握使用微命令执行各种操作的方法。 二、实验要求 1.做好实验预习&#xff0c;读懂实验电路图&#xff0c;熟悉实验元器件的功能特性和使用方法。在实验之前设计…

自动控制原理——根轨迹法

本文中所有的截图都来自于西北工业大学卢京潮教授的ppt&#xff0c;侵删。 根轨迹的基本概念 根轨迹——系统性能指标 举例说明&#xff1a; 在使用根轨迹法时&#xff0c;一般说根轨迹就说说闭环意义上的根轨迹&#xff0c;没有开环根轨迹一说。我们习惯使用首1标准型&#…

【prompt四】Domain Prompt Learning for Efficiently Adapting CLIP to Unseen Domains

motivation 领域泛化(DG)是一个复杂的迁移学习问题,旨在学习未知领域的可泛化模型。最近的基础模型(FMs)对许多分布变化都具有鲁棒性,因此,应该从本质上提高DG的性能。在这项工作中,我们研究了采用视觉语言基础模型CLIP来解决图像分类中的DG问题的通用方法。虽然ERM使用标…

Node.js安装及环境配置详细教程

一、下载Node.js安装包 官网下载链接[点击跳转] 建议下载LTS版本&#xff08;本教程不适用于苹果电脑&#xff09; 二 、安装Node.js 2.1 下载好安装包后双击打开安装包&#xff0c;然后点击Next 2.2 勾选同意许可后点击Next 2.3 点击Change选择好安装路径后点击Next&#…

Ubuntu下anaconda迁移到另外的目录

文章目录 前言一、原因二、迁移1.复制到指定迁移目录2. 修改复制后的anaconda3 内容3. 修改对应搭建的每个环境的pip4.修改系统配置文件&#xff0c;使得设置生效 三、实际测试四、总结 前言 好记性不如烂笔头&#xff0c;简单的记录下在ubantu18.04下迁移anaconda的目录 一、…

SpringBoot自定义注解+反射实现 excel 导入的数据组装及字段校验

在前段时间的开发工作中&#xff0c;接手了一个很简单&#xff0c;很普通的开发任务。 要求实现一个单表的基础数据的批量导入功能。 评估下来&#xff0c;用户每次批量导入的数据量也就几千条&#xff0c;也不大。 是不是很简单&#xff0c;没有骗你们吧。但是呢&#xff0…

常用工具——Gradle

前言 实践是最好的学习方式&#xff0c;技术也如此。 文章目录 前言一、Gradle 简介二、文件结构详解 一、Gradle 简介 Gradle 文件是一个独立于 android 之外的一个东西&#xff1b; 是什么 gradle 就是编译、打包 Android 工程的一个构建工具&#xff1b;build.gradle 文件&…