首页 > 其他分享 >http协议简介以及其请求和响应

http协议简介以及其请求和响应

时间:2024-07-20 12:53:56浏览次数:14  
标签:web 浏览器 请求 简介 响应 告诉 服务器 http

简介

HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。

HTTP协议的版本:HTTP/1.0、HTTP/1.1

       在HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源。

     在HTTP1.1协议,允许客户端与web服务器建立连接后,在一个连接上获取多个web资源。

请求

请求行:请求方式 请求资源 请求协议

请求(消息)头:描述浏览器信息

请求空行:用来分割请求头与请求正文

请求行中的GET称之为请求方式,请求方式有:

       POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT

常用的有: GET(默认)、 POST

POST和GET区别

GET方式,则可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔,在URL地址后附带的参数是有限制的,其数据容量通常不能超过1K。

a链接、form表单默认为get提交、浏览器地址栏刷新、jQuery中ajax也有get请求

POST方式,则可以在请求的实体内容中向服务器发送数据,Post方式的特点:传送的数据量无限制。

form表单post提交、jQuery中ajax也有post请求

请求头各项的含义:

accept:浏览器通过这个头告诉服务器,它所支持的数据类型

Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集

Accept-Encoding:浏览器通过这个头告诉服务器,支持的压缩格式

Accept-Language:浏览器通过这个头告诉服务器,它的语言环境

Host:浏览器通过这个头告诉服务器,想访问哪台主机

If-Modified-Since: 浏览器通过这个头告诉服务器,缓存数据的时间

Referer:浏览器通过这个头告诉服务器,客户机是哪个页面来的  防盗链

Connection:浏览器通过这个头告诉服务器,请求完后是断开链接还是何持链接

响应

响应行:协议版本 响应状态码

响应头:服务器信息

响应空行:用来分割响应头与响应正文

响应头解释

Location: 服务器通过这个头,来告诉浏览器跳到哪里

·Server:服务器通过这个头,告诉浏览器服务器的型号

·Content-Encoding:服务器通过这个头,告诉浏览器,数据的压缩格式

·Content-Length: 服务器通过这个头,告诉浏览器回送数据的长度

·Content-Language: 服务器通过这个头,告诉浏览器语言环境

·Content-Type:服务器通过这个头,告诉浏览器回送数据的类型

·Refresh:服务器通过这个头,告诉浏览器定时刷新

·Content-Disposition: 服务器通过这个头,告诉浏览器以下载方式打数据

·Transfer-Encoding:服务器通过这个头,告诉浏览器数据是以分块方式回送的

·Expires: -1  控制浏览器不要缓存

响应状态码

1XX:正在连接...

2XX :200 成功状态

3XX:304 转发

4XX:404 目标资源不存在   405

5XX:500 服务器内部出错

搭建项目

标签:web,浏览器,请求,简介,响应,告诉,服务器,http
From: https://blog.csdn.net/weixin_68489989/article/details/140569559

相关文章

  • 0.96寸 30pin OLED简介(芯片为SSD1306)
    基本简介OLED屏的特点:1. 模块有单色和双色可选,单色为纯蓝色,双色为黄蓝双色;2. 显示尺寸为0.96寸3. 分辨率为128*644. 多种接口方式,该模块提供了总共5种接口包括:6800、8080两种并行接口方式、3线或4线的SPI接口,IIC接口方式......
  • 【python模块】Http.client
    文章目录Http.client介绍基本用法高级用法Http.client介绍http.client是Python标准库中的一个模块,它提供了一个低级别的接口来发送HTTP请求和接收响应。这个模块主要针对HTTP协议的实现,并且可以用于创建更复杂的HTTP客户端。基本用法http.client模块允......
  • 解决IDEA自带的Maven 3.9.x无法刷新HTTP Nexus私服的问题
    解决IDEA自带的Maven3.9.x无法刷新HTTPNexus私服的问题前言在日常开发中,我们经常会使用Maven来管理项目的依赖。而Nexus私服则是一个常用的Maven仓库管理工具,可以帮助我们更好地管理和分发项目的依赖。然而,有时候我们会遇到一些棘手的问题,比如在使用IDEA自带的Maven3.9.x时,无......
  • Jmeter实现本地文件的读写操作-将响应结果写入到本地Excel中
    一、环境准备1、引入操作EXcel文件的包2、安装JMeter:确保已安装JMeter。Java环境:确保系统中已安装JDK,并配置了JAVA_HOME环境变量。二、脚本准备1.配置JMeter测试计划创建线程组添加线程组:右键点击“测试计划(TestPlan)”,选择“添加(Add)”->“线程(Threads(Use......
  • 阅读翻译Prompting Engineering Guides之Introduction(提示工程简介)
    阅读翻译PromptingEngineeringGuides之Introduction(提示工程简介)关于首次发表日期:2024-07-19PromptingEngineeringGuides官网:https://www.promptingguide.ai/zh使用ChatGPT和KIMI机翻,人工润色官网上已有翻译,但是不是最新的(有些段落没有),其中很小的一部分翻译有明显错误......
  • langchain 简介
    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。LangChain是一个用于语言模型和应用程序开发的框架,它提供了一系列工具和组件,帮助开发者更轻松地构建基于大型语言模型(LLMs,如OpenAI的GPT系列)的应用程序。LangChain......
  • http强制缓存、协商缓存、指纹ETag详解
    http强制缓存、协商缓存、指纹ETag详解  目录实操目录及步骤缓存分类强制缓存对比缓存指纹Etag摘要及加密算法缓存总结 每个浏览器都有一个自己的缓存区,使用缓存区的数据有诸多好处,减少冗余的数据传输,节省网络传输。减少服务器负担,提高网站的性能。......
  • java发送http请求
    pom<dependency><groupId>org.apache.httpcomponents.client5</groupId><artifactId>httpclient5</artifactId><version>5.1.3</version></dependency>菜packagecom.xcg.webapp.Common;importorg.apache.......
  • PHP curl 模拟GET请求接口报错HTTP Status 400 – Bad Request 问题
    网上查的解决方案:https://blog.csdn.net/sunsijia21983/article/details/123204143问题:PHP用curl模拟GET请求接口报错HTTPStatus400–BadRequesthttp://xxx/api/getZList?page=1&limit=20&zName=测试参数zName是英文、数字的时候都不会报错,输入汉字就报错400;解决方案:h......
  • 服务启动报错: [ main] c.a.n.c.config.http.ServerHttpAgent : no available server
    场景:一个服务,注册中心使用nacos 服务启动时报错:2024-07-1913:11:17.466ERROR32188---[main]c.a.n.c.config.http.ServerHttpAgent:[NACOSSocketTimeoutExceptionhttpGet]currentServerAddr:http://localhost:8848,err:connecttimedout2024-07-1913:11:18.......