首页 > 其他分享 >HTTP协议介绍

HTTP协议介绍

时间:2024-11-15 20:46:43浏览次数:3  
标签:协议 HTTP 请求 介绍 响应 数据格式 浏览器 客户端

HTTP协议介绍

一、HTTP-概述

  • 概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输规则。

在这里插入图片描述

  • 特点:
    • 1、基于TCP协议:面向连接,安全
    • 2、基于请求-响应模型的:一次请求对应一次响应
    • 3、HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的
      • 缺点:多次请求之间不能共享数据
      • 优点:速度快

二、HTTP-请求协议

  • HTTP-请求数据格式:
    1. 请求行
    2. 请求头
    3. 请求体(GET请求中没有)

在这里插入图片描述

  • GETPOST请求方式的区别:
    • GET请求参数在请求行中,且没有请求体GET请求大小是有限制的
    • POST请求参数在请求体中,POST请求大小是没有限制的

1、对于请求头的中数据的解释

KeyValue
Host请求的主机名
User-Agent浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0...Chrome/79,IE浏览器的标识类似Mozilla/5.0(Windows NT ...) like Gecko
Accept表示浏览器能接收的资源类型,如text/*,image/*或者*/*表示所有
Accept-Language表示浏览器偏好的语言,服务器可以据此返回不同语言的网页
Accept-Encoding表示浏览器可以支持的压缩类型,例如gzip,deflate
Content-Type请求主体的数据类型
Content-Length请求主体的大小(单位:字节)

三、HTTP-响应协议

  • HTTP-响应数据格式:
    1. 响应行:响应数据第一行(协议、状态码、描述)
    2. 响应头:第二行开始,格式key: value
    3. 响应体:最后一部分,存放响应数据
      在这里插入图片描述

1、状态码大类

状态码分类说明
1xx响应中——临时状态码,表示请求已经接受,告诉客户端应该继续请求或者如果它已经完成则忽略它
2xx成功——表示请求已经被成功接收,处理已完成
3xx重定向——重定向到其它地方:它让客户端再发起一个请求以完成整个处理。
4xx客户端错误——处理发生错误,责任在客户端,如:客户端的请求一个不存在的资源,客户端未被授权,禁止访问等
5xx服务器端错误——处理发生错误,责任在服务端,如:服务端抛出异常,路由出错,HTTP版本不支持等

2、常见的响应状态码

状态码英文描述解释
200OK客户端请求成功,即处理成功,这是我们最想看到的状态码
302Found指示所请求的资源已移动到由Location响应头给定的 URL,浏览器会自动重新访问到这个页面
304Not Modified告诉客户端,你请求的资源至上次取得后,服务端并未更改,你直接用你本地缓存吧。隐式重定向
400Bad Request客户端请求有语法错误,不能被服务器所理解
403Forbidden服务器收到请求,但是拒绝提供服务,比如:没有权限访问相关资源
404Not Found请求资源不存在,一般是URL输入有误,或者网站资源被删除了
405Method Not Allowed请求方式有误,比如应该用GET请求方式的资源,用了POST
428Precondition Required服务器要求有条件的请求,告诉客户端要想访问该资源,必须携带特定的请求头
429Too Many Requests指示用户在给定时间内发送了太多请求(“限速”),配合 Retry-After(多长时间后可以请求)响应头一起使用
431 Request Header Fields Too Large请求头太大,服务器不愿意处理请求,因为它的头部字段太大。请求可以在减少请求头域的大小后重新提交。
500Internal Server Error服务器发生不可预期的错误。服务器出异常了,赶紧看日志去吧
503Service Unavailable服务器尚未准备好处理请求,服务器刚刚启动,还未初始化好

状态码大全:https://cloud.tencent.com/developer/chapter/13553

3、对于请求头的中数据的解释

keyValue
Content-Type表示该响应内容的类型,例如text/html,application/json
Content-Length表示该响应内容的长度(字节数)
Content-Encoding表示该响应压缩算法,例如gzip
Cache-Control指示客户端应如何缓存,例如max-age=300表示可以最多缓存300秒
Set-Cookie告诉浏览器为当前页面所在的域设置cookie

四、HTTP-协议解析

  • 根据HTTP的请求格式,来解析请求数据(服务端)、响应数据(客户端浏览器)
    • 对于客户端浏览器:各大厂商已经提供了内置的解析HTTP协议的程序
    • 服务端开发工程师:在服务器端,通过java程序,来接受客户端浏览器发起的请求,并获取请求数据,然后在参照HTTP的请求数据格式,对请求数据进行解析,还要参照HTTP的响应数据格式给浏览器响应对应的数据格式
      务器端,通过java程序,来接受客户端浏览器发起的请求,并获取请求数据,然后在参照HTTP的请求数据格式,对请求数据进行解析,还要参照HTTP的响应数据格式给浏览器响应对应的数据格式

标签:协议,HTTP,请求,介绍,响应,数据格式,浏览器,客户端
From: https://blog.csdn.net/2302_81034736/article/details/143807598

相关文章

  • TCP/IP上三层协议
    TCP/IP上三层的角色同一台设备上的进程间通信有多种方式,如管道、消息队列、共享内存、信号等。而不同设备间的进程通信需要网络通信,由于设备具有多样性,因此协商出了一套通用的网络协议。这个网络协议是分层的,每一层都有各自的作用和职责,接下来将依据“TCP/IP网络模型”对每一......
  • https实验
    https实验原理httphttpshttps=http+SSL/TLS•SSL:SecureSocketLayer安全套接层•TLS:TransportLayerSecurity传输层安全协议加密方式:PKI(公钥基础设施)使用公钥技术和数字签名来保证信息安全由公钥密码算法、数字证书(Certificate)、CA(Certificate......
  • 淘宝代购系统;海外代购系统;代购程序,代购系统源码PHP介绍
    以下是关于淘宝代购系统、海外代购系统、代购程序以及代购系统源码PHP的相关介绍:——在成长的路上,我们都是同行者。这篇关于搭建1688淘宝代购集运系统搭建的文章,希望能帮助到您。期待与您继续分享更多跨境系统搭建的知识,请记得关注Taobaoapi2014哦!  淘宝代购系统:......
  • RTP --- 协议介绍
     RTP报文格式12字节头部+payload12字节头部structrtp_hdr{#ifdefBIGENDIANunsignedcharv:2;/*protocolversion*/unsignedcharp:1;/*paddingflag*/unsignedcharx:1;/*headerextensionflag*/un......
  • 基于stm32的bacnet协议
    bacnet协议对于国内网站来说,几乎可以说资料为零,通俗大论一遍,具体操作方法屁都没说先从工具说起开发工具BACnetScan:(讯绕提供)(工具1)链接:https://pan.baidu.com/s/1TJxc0xaEsCT3lJOlG78B7w提取码:t7bwYabe:(工具2)链接:https://pan.baidu.com/s/1jfsbGQwv08GISF0VeOjY_g提取码:mmdc......
  • C++命名空间介绍、定义、作用、是否允许嵌套
    本文章代码块默认为写了std命名空间的条件下,所以代码里面的输出直接写了cout,没写作用域什么是c++命名空间C++命名空间是一种机制,用于解决全局变量名或函数名之间的冲突问题。它可以将一组相关的变量、函数和类组织在一起,形成一个独立的命名空间,避免命名冲突。命名空间通过在......
  • http自动设置自动代理的问题
    1、在系统中,已经去掉了自动代理,但是在使用selenium的时候,无法启动webdriver.chrome()2、必须使用如下代码,清除环境变量通过打印os.environ看出'HTTP_PROXY':'http://127.0.0.1:8080', proxy_env_vars={'HTTP_PROXY','HTTPS_PROXY','http_proxy','http......
  • WSL2的介绍和使用
    WSL2的介绍和使用一、什么是WSL2?WSL是WindowsSubsystemforLinux的简称,它是微软为Win10和Win11引入的一项功能。WSL允许用户在Windows上运行Linux操作系统及其相关命令和应用程序,而无需使用虚拟机或安装双系统。1.1WSL2与WSL1、传统虚拟机比较WSL1:没有完整的Linux内核,它......
  • Windows系统日志报错:生成了一个严重警告并将其发送到远程终结点。这会导致连接终止。T
    当我们检查Windows系统日志发现有一个报错:生成了一个严重警告并将其发送到远程终结点。这会导致连接终止。TLS协议所定义的严重错误代码是10。WindowsSChannel错误状态是1203。导致报错的原因是什么?该如何处理?驰网飞飞和你分享其实这个报错和“生成以下严重警告:10。内部错误......
  • 介绍一些合法的网站seo优化方法
    以下是一些合法的网站SEO优化方法: 1. 关键词优化:-关键词研究:利用关键词研究工具,如百度关键词规划师、5118等,挖掘与网站主题相关、搜索量适中且竞争度相对较低的关键词。了解用户的搜索习惯和需求,找到潜在的高价值关键词。例如,如果您的网站是一个美食博客,除了“美食”......