http协议(二)

 欢迎来到南方有乔木的博客!!!


博主主页:点击点击!戳一戳!!

博主名:南方有乔木呀

博主简介:

一名在校大学生,正在努力学习Java语言编程。穷且意坚,不坠青云之志,希望能在编程的世界里找到属于自己的光。

跪谢帅气or美丽的朋友们能够帮我点赞! 请对文中内容请多多指教!!!

目录

一.请求报头(header)

二.http响应状态码

三.构造http请求

1.from表单构造

2.ajax构造


一.请求报头(header)

请求报头从http请求的第二行开始,第一行是请求首行,第二行开始就是请求报头,请求报头结束会有一行空格,接着就是请求正文。请求报头里包含许多key-value类型的键值对

每个键值对是占据一行。

我使用fiddler 抓包工具抓取一个包,它的http请求如下:

第一行是请求首行,它表示http请求使用了POST方法,然后还有一串URL,后边的是http的版本号。

从第二行开始就是请求报头的内容,下面来详细介绍部分请求报头里面的内容,

1.HSOT

HOST表示了服务器的主机地址和端口

2.Content-Length

Content-Length它可以表示正文body中的数据长度。

3.Content-Type

它表示了请求中body的数据格式

4.User-Agent(UA)

表示浏览器(操作系统)的属性

5.Referer

表示这个页面是从哪个页面跳转而来

6.Cookie

Cookie里存储了一个字符串,可以通过这个字符串实现身份标识的功能。Cookie可以作为用户当前登录的身份标识。相当于医院的就诊卡,开始使用身份证办理就诊卡,有了就诊卡就可以代表持有身份证的这个人,就诊卡也可以注销,浏览器保存的Cookie 也可以清除。

二.http响应状态码

http响应会使用一个状态码表示请求成功还是失败,或者是否出现其他情况。

让我们来学习http比较常见的一些状态码

200:表示http进行了正确的响应

404:表示资源不存在,在平时可以经常看到这种情况(404 not found),出现404时,大概率是URL错了,需要检查url拼写是否正确

403:访问被拒绝,访问被拒绝一般是指有资源,但不给访问,一般与是否有访问权限相关。

405:方法不被允许,http的访问方法有很多,比如GET,POST等方法,比如当服务器只支持POST 方法访问时,如果客户端是使用GET方法访问,那么就会返回405,更多是在开发阶段出现

500:内部错误,表示服务器出错。通常情况下测试阶段已经被发现,平时不大容易看到。

504:请求超时。当网络不好,代码的性能差等,平时也不大容易看到。

302:临时重定向。通常在登录时可以看到,登录时跳转。

301:永久重定向。

对于http响应的一个大致的分类如下:

三.构造http请求

1.from表单构造

基于from表单构造http请求,from表单进行提交时,页面会进行跳转

下面是一个简单的利用from表单构造http请求的一个简单代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>基于from表单构造http协议</title>
</head>
<body>
    <form action=" https://baidu.com" method="get">

        用户名:<input type="text" name="" id="usename">
        密码:<input type="password" name="" id="password">

        <input type="submit" value="提交">

    </form>
    
</body>
</html>

2.ajax构造

ajax是一种创建快速动态网页的技术,以下是一个简单的通过ajax来构造http请求的简单代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>通过ajax来发送json请求</title>
</head>
<body>
          姓名: <input type="text" id="name"></br>
          年龄: <input type="text" id="age"></br>
          <input type="button" value="提交" id="submit">

          <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>

          <script>
               $("#submit").click(
                 function(){
                    $.ajax({
                        type:"post",
                        url:"json",
                        contentType:"application/json",
                        data:JSON.stringify({
                            name:$("#name").val(),
                            age:$("#age").val()
                        }),
                        success:function(body){
                            console.log(body);

                        },
                        error:function(){
                            console.log("error");
                        }
                    });
                 }
               );
          </script>
</body>
</html>

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

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

相关文章

Go语言基础教程:变量、基本数据类型、输出、注释、运算符、if-else条件判断、函数

文章目录 一、变量的使用1.1 定义变量1.2 常量1.3 变量的赋值与内存相关 二、变量基本类型2.1 有符号整型2.2 无符号整型2.3 string类型2.4 bool类型 三、输出3.1 常用打印功能3.2 格式化输出3.3 内置输出方法与fmt的区别 四、注释五、运算符六、条件语句6.1 基本使用6.2 条件嵌…

ncnn源码阅读(三)----数据结构Mat

文章目录 数据结构Mat成员变量成员方法构造函数1、普通构造函数2、外部数据指针构造函数3、拷贝构造函数和opertor 深拷贝函数类型转换引用计数的实现其他数据操作函数 数据结构Mat 个人认为一个框架中的比较核心的两个点&#xff0c;一个是数据结构&#xff0c;一个任务调度…

【NLP】Transformer模型原理(2)

接上文 【NLP】Transformer模型原理(1) 六、零层的transformer 观看涵盖与本节类似内容的视频:0 层理论 在进入更复杂的模型之前,简要考虑一下“零层”变压器很有用。这样的模型获取一个令牌,嵌入它,解嵌它以生成预测下一个令牌的对数: ​

AttributeError: module ‘torch.nn‘ has no attribute ‘module‘

import torch import torch.nn as nnclass LinearModel(nn.Module):def _init_(self,ndim):super(LinearModel,self)._init_()self.ndimndimself.weightnn.Parameter(torch.randn(ndim,1))#定义权重self.biasnn.Parameter(torch.randn(1)) #定义偏置def forward(self,x):# y …

点云数据标注方法研究

1.点云可视化工具 1.1 cloudcompare下载安装 sudo snap install cloudcompare 启动方法: #open pointcloud viewer cloudcompare.ccViewer #open the main software cloudcompare.CloudCompare 使用上述第一条命令&#xff0c;读取的点云某一帧数据&#xff0c;我的点云格…

opencv实战--环境配置和文字识别

文章目录 前言一、环境配置二、文字识别2.1 文字单个识别2.2 文字单个带边框 总结 前言 一、环境配置 cmd输入python的时候跳转应用商店的解决方法。https://blog.csdn.net/qq_62294840/article/details/120623501 anaconda官方下载地址&#xff1a;https://www.anaconda.com…

编程语言的优劣评选标准与未来发展趋势——探索最佳编程语言选择

编程语言的优劣评选标准与未来发展趋势——探索最佳编程语言选择 评判标准不同编程语言的优点与缺点分析对编程语言未来发展的猜测和未来趋势 &#x1f495; &#x1f495; &#x1f495; 博主个人主页&#xff1a; 汴京城下君–野生程序员&#x1f495; &#x1f495; &#x…

【力扣JavaScript】1047. 删除字符串中的所有相邻重复项

/*** param {string} s* return {string}*/ var removeDuplicates function(s) {let stack[];for(i of s){let prevstack.pop();if(prev!i){stack.push(prev);stack.push(i);}}return stack.join(); };

4. CSS用户界面样式

4.1什么是界面样式 所谓的界面样式,就是更改一些用户操作样式,以便提高更好的用户体验。 ●更改用户的鼠标样式 ●表单轮廓 ●防止表单域拖拽 4.2鼠标样式cursor li {cursor: pointer; }设置或检索在对象上移动的鼠标指针采用何种系统预定义的光标形状。 4.3轮廓线outline…

Layui之选项卡案例 详细易懂

⭐ 本期精彩&#xff1a; 利用Layui框架实现动态选项卡 ⭐ 继上一篇已经实现了左边的树形菜单栏&#xff0c;这一关卡我们已通过&#xff0c;接下来就是实现右边的动态选项卡的关卡,上个关卡的效果及链接 ⭐ 链接&#xff1a;http://t.csdn.cn/tYccL 目录 ⭐ 本期精彩&#xf…

语义分割混淆矩阵、 mIoU、mPA计算

一、操作 需要会调试代码的人自己改&#xff0c;小白直接运行会出错 这是我从自己的大文件里摘取的一部分代码&#xff0c;可以运行&#xff0c;只是要改的文件地址path比较多&#xff0c;遇到双引号“”的地址注意一下&#xff0c;不然地址不对容易出错 把 calculate.py和 u…

SpringCloud

SpringCloud01 为什么要学习微服务框架知识&#xff1f; 因为互联网发展迅速&#xff0c;业务更新迭代快 微服务符合敏捷开发需求 服 务 网 关&#xff08;请求路由&#xff0c;负载均衡&#xff09; 注册中心&#xff08;拉取或注册服务信息 eureka nacos&#xff09; 配…

tcp转发服务桥(windows)

目的 目的是为了在网关上转发udp数据和tcp数据。对于网络里面隔离的内网来说&#xff0c;有一台可以上网的服务器&#xff0c;那么通过两块网卡就可以转发出去&#xff0c;在服务器上进行数据的转发&#xff0c;有tcp和udp两种&#xff0c;udp已经写过了&#xff0c;这次使用了…

pycharm import的类库修改后要重启问题的解决方法

通过将以下行添加到pycharm中的settings-> Build,Excecution,Deployment-> Console-> Python Console中&#xff0c;可以指示Pycharm在更改时自动重新加载模块&#xff1a; %load_ext autoreload %autoreload 2

APP开发的未来:虚拟现实和增强现实的角色

移动应用程序越来越多地在我们的日常生活中发挥着重要作用。但是&#xff0c;随着技术的不断发展&#xff0c;未来的 APP开发会有什么新的发展方向呢&#xff1f;这是每个人都在关心的问题。在过去的几年中&#xff0c;移动应用程序领域发生了巨大变化。像 VR/AR这样的技术为人…

OpenCv (C++) 使用矩形 Rect 覆盖图像中某个区域

文章目录 1. 使用矩形将图像中某个区域置为黑色2. cv::Rect 类介绍 1. 使用矩形将图像中某个区域置为黑色 推荐参考博客&#xff1a;OpenCV实现将任意形状ROI区域置黑&#xff08;多边形区域置黑&#xff09; 比较常用的是使用 Rect 矩形实现该功能&#xff0c;代码如下&…

大模型与端到端会成为城市自动驾驶新范式吗?

摘要&#xff1a; 最近可以明显看到或者感受到第一梯队的城市自动驾驶量产已经进入快车道&#xff0c;他们背后所依靠的正是当下最热的大模型和端到端的技术。 近期&#xff0c;城市自动驾驶量产在产品和技术上都出现了新的变化。 在产品层面&#xff0c;出现了记性行车或者称…

MySQL基础篇第7章(单行函数)

文章目录 1、函数的理解1.1 什么是函数1.2 不同DBMS函数的差异1.3 MySQL的内置函数分类 2、数值函数2.1 基本函数2.2 角度与弧度互转函数2.3 三角函数2.4 指数和对数2.5 进制间的转换 3、字符串函数4、日期和时间函数4.1 获取日期、时间4.2 日期与时间戳的转换4.3 获取月份、星…

自制游戏引擎之shader预编译

shader预编译为二进制,在程序运行时候加载,可以提升性能,节省启动时间. 1. 采用google shaderc预编译与加载shader 1.1 下载代码 https://github.com/google/shaderc third_party文件里需要放依赖的第三方 因为电脑访问google的问题,无法通过shaderc-2023.4\utils\git-sync-de…

Java设计模式之行为型-状态模式(UML类图+案例分析)

目录 一、基础概念 二、UML类图 三、角色设计 四、案例分析 五、总结 一、基础概念 状态模式允许一个对象在其内部状态改变时改变它的行为&#xff0c;对象看起来似乎修改了它的类&#xff0c;状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况&a…