HTTP协议简单理解

简介: HTTP协议简单理解

1.什么是HTTP

超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个应用层的数据传输协议。

也叫请求-响应协议:它指定了客户端可以发送给服务器什么样的消息(请求),以及得到什么样的响应。

  • 超文本?
  • 文本:html、字符串等
  • 超文本:图片、音乐、视频、定位、地图等
  • 传输?
  • 数据从一个终端传到另一个终端上
  • 传输过程中,发送请求的一端叫请求方,回应请求的一方叫应答方。
  • 请求方和应答方可以互换,可以是C/S或B/S

  • 协议?
  • 网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。

总结:HTTP 是一个在计算机终端之间传输文字、图片、音频、视频等超文本数据的约定和规范集合。

2.http基础知识

1. 端口号

  • http:80
  • https:443

2.响应状态码

200:请求响应成功

3**:请求重定向

404:找不到资源

5**:服务器代码错误

502:网关错误


3.请求方法

  • get 获取资源:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,非常不安全,但是效率高。

  • post 向服务器传送数据:请求能够携带的参数没有限制,大小没有限制,不会在浏览器URL显示数据内容,安全不高效。

  • Put 传输文件:
  • Head 获得响应头部:


4.http版本

  • http1.0
  • 客户端可以与web服务器连接后,只能获取一个web资源,然后断开连接
  • http1.1
  • 可以获得多个web资源,减少了大量的请求


3.http构成

  1. 起始行
    请求行中的请求方式
请求 URL: https://www.baidu.com/?tn=44004473_35_oem_dg
请求方法: GET
状态代码: 200 OK
远程地址: 220.181.38.150:443
  1. 头部字段(分通用标头、请求标头、响应标头 和 实体标头)
  • 通用头

  • 实体头
  • 实体标头用于 HTTP 请求和响应中

请求头

GET /home.html HTTP/1.1
Host: developer.mozilla.org   服务器的域名
Accept: 告诉浏览器能支持的格式
Accept-Encoding: 支持的编码格式
Accept-Language: 告诉浏览器语言环境
Cache-Control: 缓存控制
Connection: keep-alive  告诉浏览器请求时断开还是保持连接

响应头

  1. 空行
  2. 消息正文(实体)

4.http的载体之一浏览器

1.浏览器发起请求和接受响应的过程:

  1. 在地址栏输入URL(即网址)
  2. 浏览器会向DNS(域名服务器)提供网址,由它来完成 URL 到 IP 地址的映射将请求提交给具体的服务器
  3. 由服务器返回我们要的结果(以HTML编码格式返回给浏览器)
  4. 浏览器执行HTML编码,将结果显示在浏览器的正文

2.http请求URL资源

  • 统一资源定位系统(uniform resource locator;URL
  • 每个应用程序对应一个端口号
  • 查询参数是用 & 符号分隔的键/值对列表
  • 锚点代表资源内的一种“书签”,在HTML文档上,浏览器将滚动到定义锚点的那个点上;在视频或音频文档上,浏览器将转到锚点代表的那个时间


https://editor.csdn.net/md/?articleId=124953612

协议://主机:端口号/具体请求资源路径?查询参数1=value1&查询参数2=value2#锚点

相关文章
|
2月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
【7月更文挑战第31天】在网络数据的海洋中,使用Python的`requests`库构建网络爬虫就像探索未知的航船。HTTP协议指导爬虫与服务器交流,收集信息。HTTP请求包括请求行、头和体,响应则含状态行、头和体。`requests`简化了发送各种HTTP请求的过程。
63 4
|
15天前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
47 8
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
|
5天前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
31 8
|
4天前
|
缓存 网络协议 UED
HTTP协议介绍
HTTP协议的
13 5
|
4天前
|
监控 安全 应用服务中间件
如何配置HTTPS协议?
如何配置HTTPS协议?
12 4
|
3天前
|
安全 网络安全 数据安全/隐私保护
HTTP与HTTPS协议区别及应用场景
在互联网高速发展的今天,HTTP与HTTPS作为数据传输的基石,作用至关重要。HTTP允许客户端与服务器间传输超文本文档,但其数据传输过程未加密,存在安全隐患;HTTPS则在此基础上加入了SSL/TLS协议,实现了数据加密传输,增强了安全性,广泛应用于电子商务、网上银行、政府网站及社交媒体平台等涉及敏感信息传输的领域,有效保护了用户隐私和数据安全。随着网络安全意识提升,HTTPS正逐渐成为主流。
|
4天前
|
缓存 开发者
HTTP协议
HTTP协议
14 2
|
20天前
|
安全 Java Shell
【内网—内网转发】——http协议代理转发_reGeorg代理转发
【内网—内网转发】——http协议代理转发_reGeorg代理转发
16 3
|
30天前
|
存储 网络协议 安全
HTTP协议和运行原理
HTTP协议和运行原理

热门文章

最新文章