基于http协议的Web服务器

2023-11-11

原理:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认端口:80)的TCP连接。HTTP在此端口监听客户端发送过来的请求。一旦收到请求,服务器向客户端回复一个状态行,比如:“HTTP/1.0 200 OK”,和响应消息。

HTTP协议:

超文本传输协议,是互联网上使用的最广泛的协议,HTTP是一个客户端和服务器端请求和应答的标准(TCP)。

HTTP请求:

HTTP请求由以下部分组成

  • 请求行:请求方法,请求URL,协议版本
  • 请求头:包含若干属性,格式为“属性名:属性值”,服务端据此获取客户端的信息。
  • 空行:
  • 请求体:传递请求参数

 

 HTTP响应:

HTTP响应由以下部分组成

  • 状态行:协议版本,状态码,状态码描述
  • 响应头部:头部字段名,字段值
  • 空行:
  • 响应正文:响应的参数

 基本思想:

  了解TCP协议:https://blog.csdn.net/yh971660526/article/details/82930041

  1. HTTP协议是基于TCP的通信协议(连接可靠性),实现两台主机不同进程之间的通信(客户端和服务器)。通过socket建立通信。
  2. 服务器接收客户端请求后,分析请求方法(GET(从指定的资源请求数据,参数在URL中)、POST(向指定的资源提交    要被处理的数据,参数在请求正文中)等)。
  3. 拿到请求的URL
  4. 判断资源是否存在,以网页的形式返回给客户端或返回错误。

http_server.c

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于http协议的Web服务器 的相关文章

  • 快递项目——手写MVC实现快递后台和平台

    目录 编写流程 管理员的登陆 快递管理 子模块 编写的流程 标准流程 api文档 用户的管理 子模块 快递员管理 子模块 控制台显示 实体类 MVC Util工具类 微信包 配置文件 补充 ngrok内网穿透 问题汇总 编写流程 管理员的登
  • 用JAVA中的URL获取网页相关信息

    ava中有一个URL类 可以获取指定url的内容 import java io BufferedReader import java io InputStreamReader import java net URL public class
  • 安利一个实用项目--物美智能

    安利一个实用项目 可用于二次开发 官网 项目介绍 项目地址 演示地址
  • Nodejs学习

    本周我们主要学习了Nodejs相关知识 我也整理了一些相关知识点 首先呢 我们要了解Nodejs不是一门语言 也不是库 不是框架 而是一个JavaScript运行时环境 也就是说它可以解析和执行JavaScript代码 我们知道 浏览器中的
  • 注释转换(C->C++)

    转换原理图解 基于上图原理 可以写出代码 主函数 define CRT SECURE NO WARNINGS 1 include
  • java中的service层,dao层,controller层的理解

    基本概念 DAO层 DAO层叫数据访问层 属于一种比较底层 比较基础的操作 具体到对于某个表的增删改查 也就是说某个DAO一定是和数据库的某一张表一一对应的 其中封装了增删改查基本操作 Service层 Service层叫服务层 被称为服务
  • http和https协议

    HTTP协议 简介 HTTP是Hyper Text Transfer Protocol 超文本传输协议 的缩写 HTTP是一个属于应用层的面向对象的协议 由于其简捷 快速的方式 适用于分布式超媒体信息系统 HTTP协议以明文方式发送内容 不
  • 毕业项目SSM框架配置文件之SqlMapConfig.xml

  • 计算机毕业设计-社区疫情防控管理系统springboot-小区疫情管理系统java代码

    计算机毕业设计 社区疫情防控管理系统springboot 小区疫情管理系统java代码 注意 该项目只展示部分功能 如需了解 评论区咨询即可 1 开发环境 开发语言 Java 架构 B S 框架 SpringBoot 前端 HTML CSS
  • 基于SSM的图书管理系统

    一 系统简介 该项目是基于Java的SSM框架实现的图书管理系统 二 技术实现 1 后台框架 Spring SpringMVC MyBatis Ajax 2 UI界面 BootStrap 3 数据库 MySQL 5 7 4 加密 md5 随
  • HTTP服务器(三)

    下面实现处理动态页面的逻辑 创建一对命名管道 fork创建子进程 让父子进程执行不同的任务 值得注意的是 由于管道数据流动是单向的 所以要创建一对 父进程将必要的信息通过管道传递给子进程 子进程将计算的结果通过管道传递给父进程 int Ha
  • 米米商城项目

    米米商城 1 开发环境 2 项目功能 3 项目搭建步骤 4 配置文件 4 1 pom xml 4 2 jdbc properties 4 3 Mybaties配置文件 SqlMapConfig xml 4 4 Spring配置文件 4 4
  • SpringMVC单元测试之MockMVC,模拟登录

    在一些实际开发中 很多情况下需要对数据库进行操作 但是这里的操作就设计到用户权限 所谓权限验证就是拿到用户客户端登录后的token 在代码中进行校验 一般都是在controller层首先进行校验 如果校验成功 则执行之后操作 否则 采取相应
  • QSerialPort串口数据传输上位机实时显示

    1 项目背景 通过串口实时传输下位机造的一帧图像数据 然后利用qt编写上位机 实现图像数据的实时显示 并保存任意帧数据 2 效果展示 3 下位机代码 include bsp clk h include bsp delay h include
  • postcss-px-to-viewport-8-plugin 适配

    postcss px to viewport 8 plugin 适配 简述 postcss px to viewport 8 plugin 是一个PostCSS插件 用于将以像素为单位的样式转换为视口单位 如vw vh 的样式 实现移动端适
  • Git如何合并分支到主干及合并主干到分支

    Git如何合并分支到主干及合并主干到分支 文章目录 Git如何合并分支到主干及合并主干到分支 零 预备知识 一 创建分支 二 合并分支到主干 三 合并主干到分支 参考资料 精益开发实践用看板管理大型项目 Git如何合并分支到主干及合并主干到
  • 使用Java socket简单模拟HTTP服务器

    1 HTTP server 接收client端的http请求并将同级目录的root 返回 package httpDemo import java io InputStream import java io OutputStream imp
  • Qt - 使用子目录项目来 配置多个子工程/子模块

    QT 使用子目录项目来 配置多个子工程 子模块 简述 项目配置概览 项目的多工程配置 使用多模块 特别鸣谢 Qt 之 pro 配置多个子工程 子模块 Qt Creator创建子目录项目并自定义目标文件输出目录 使用子目录项目来 配置多个子工
  • java_web:基于三层架构实现学生信息管理1.0(对学生信息的增删改查)

    学生信息管理1 0 涉及的知识点 三层架构理论 简单理解三层架构就是 上层调用下层 下层为上层提供服务 最上层 视图层 由jsp servlet组成 中间层 服务层 组装数据访问层所实现的功能 最下层 数据访问层 实现单一得某项功能 为服务
  • 埋点的作用,如何埋点

    通过ThreadLocal和HandlerInterceptor实现java后台业务埋点日志功能 后端开发 埋点日志怎么做 流沙飞雪的博客 CSDN博客 埋点是什么 有什么作用 前端如何埋点 网页埋点 一只小可乐吖的博客 CSDN博客 用户

随机推荐

  • 科普——未知的公共免费WIFI存在的风险及隐患

    就现阶段 我们打开手机WIFI功能 无论何时何地都能发现很多位置来源的免费WIFI 这些WIFI一般都不需要密码 可是 它们真的安全吗细节不讲 如果你连到了陌生的wifi 你用浏览器去登录一些网站 你看到的是这样的 然而 当你点击登陆 在别
  • 【华为OD机试真题 JAVA】最长连续子序列

    标题 最长连续子序列 时间限制 1秒 内存限制 262144K 语言限制 不限 有N个正整数组成的一个序列 给定整数sum 求长度最长的连续子序列 使他们的和等于sum 返回此子序列的长度 如果没有满足要求的序列 返回 1 输入描述 序列
  • 解决BeanUtils.copyProperties不能复制集合类型

    解决BeanUtils copyProperties不能复制集合类型 1 背景 日常项目中 后台从 数据库 中获取的数据用DTO实体类接收 后台返回给 前台 的实体类是VO DTO和VO的属性字段个数大致相同 一般来说VO可能比DTO多 工
  • 解决打开javaweb项目外部资源的问题。

    a href xx 可以轻松打开web内部的资源如pdf excel 外部的资源点击无反应 可以采取将外部资源复制到项目中 然后再用 a href xxx 文件复制代码 亲测试 txt pdf jpg可以复制 代码在百度上搜到的 impor
  • K8S集群中部署服务之应用环境配置

    微服务项目sangomall应用环境配置说明 一 应用环境配置文件创建 可以创建多个application properties或application yml文件 通过关键配置进行激活使用 例如测试环境和生产环境等 1 1 创建开发环境
  • [Setting]win7下运行exe失败:应用程序无法启动,因为应用程序的并行配置不正确

    win7下运行exe失败 应用程序无法启动 因为应用程序的并行配置不正确 1 问题描述 承接了一个项目 给甲方交接的时候 在它的电脑中运行出现了这个错误 应用程序无法启动 因为应用程序的并行配置不正确 有关详细信息 请参阅应用程序事件日志
  • stm32从keil安装到程序烧录

    1 准备工具 1 一块stm32板 我用的是芯片型号是stm32L151C8T6 2 keil5软件 可以到官网下载 https www keil com download product 也可以直接下载网友的版本 我这里用的是keil5
  • MySQL8.0连接url

    这些错误是很让人崩溃的 在连接数据库配置都没错 jar包也有 但是还是报 首先第一个报错是系统安全性和时区配置的问题 MySQL8 0不同于之前的版本 存在安全检测的问题 所以在设置url的时候需要jdbc mysql localhost
  • 我是如何利用业余时间写书的?---时间管理

    低级的欲望放纵即可获得 高级的欲望只有克制才能达成 卡耐基 粉丝的误会 很多粉丝 问我 彭老师你是不是自己创业了 彭老师我想报您的培训班 得知我知识业余时间写文章 紧接着又会问 jg单位这么清闲啊 你居然有这么多时间写文章的 而且你文章很深
  • 将浮点型数转换为字符串类型数(小数点保留多位)(qt)

    1 实现将浮点类型的数转换为字符串类型的数 char data 20 double a 1 02356 gcvt s data a 3 最后结果显示三位 输出的结果四舍五入为1 02 QString str QString 1 arg da
  • 检验身份证号的有效性并输出有问题的号码

    摘要 一个合法的身份证号码共18位 由17位地区 日期编号和顺序编号加1位校验码组成 校验码的计算规则如下 首先对前17位数字加权求和 权重分配为 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 然后将计算的和对11
  • Eigen优化实录

    原文 https www zhihu com question 28571059 sort created 以前也觉得 Eigen 很快 感觉和 mkl 可以媲美 但是昨天 debug 时一行一行看时间 发现这样一个矩阵乘法 要算将近一秒
  • Tomcat中配置SSL

    Tomcat网站上 http tomcat apache org tomcat 5 5 doc ssl howto html Edit 20the 20Tomcat 20Configuration 20File 有相关配置SSL的介绍 建议
  • android app检测更新,GitHub - bai53229/UpdateDemo: android app自动检测更新库

    UpdateFun更新库 UpdateFun是一个fir im的Android更新下载模块 在fir im上上传自己的APP后接入该库即可实现检查更新下载 用法 Step 1 在gradle文件中加入下面的依赖 dependencies c
  • Blender基本使用(个人笔记)

    界面移动 按住鼠标滚轮以一点为中心进行视图旋转 同时按住shift和鼠标滚轮可平移视图 滚动鼠标滚轮进行视图的缩放 按下小键盘1 3 7进入前视图 右视图 俯视图 以及CTRL 1 CTRL 3 CTRL 7查看后视图 左视图 底视图 AL
  • Wireshark抓包——IP协议分析

    一 实验目的 通过本次实验 掌握使用Wireshark抓取TCP IP协议数据包的技能 能够深入分析IP帧格式 通过抓包和分析数据包来理解TCP IP协议 进一步提高理论联系实践的能力 二 实验内容 1 本次实验重点 利用Wireshark
  • 浏览器(Microsoft Edge)主页被360劫持的终极解决办法

    今天开启Microsoft Edge发现主页变成了360搜索的主页 心里很膈应 我的电脑里没有安装任何360的软件 不知道是怎么被改动了 可能是装其他软件时被篡改了 尝试一 更改edge浏览器的设置 即使设置了打开特定网址 再次打开依然是3
  • 笔记本电脑亮度突然无法用快捷键调节

    重装系统后 笔记本的亮度无法调节始终为最高亮度 一度以为是系统问题 重装了显卡驱动也无效 该问题困扰了我半年之久 今天终于解决了 1 故障现象 笔记本的屏幕亮度无法调节 快捷键 失效 重装显卡驱动 无效 2 原因分析 这是因为电脑安装了某个
  • char和varchar简单比较

    区别 char varchar 最大长度 255字符 65535字符 长度设置 定长 变长 空间使用 浪费空间 节省空间 查找效率 较高 较低 解读varchar 20 字段最多存放20个字符 varchar 20 和varchar 200
  • 基于http协议的Web服务器

    原理 由HTTP客户端发起一个请求 建立一个到服务器指定端口 默认端口 80 的TCP连接 HTTP在此端口监听客户端发送过来的请求 一旦收到请求 服务器向客户端回复一个状态行 比如 HTTP 1 0 200 OK 和响应消息 HTTP协议