HTTP协议基本原理

目录

  • HTTP

    • HTTP协议的概念
    • HTTP协议的特点
    • HTTP - URL
    • HTTP - Web浏览器与Web服务器之间的通信步骤
    • HTTP请求格式
    • HTTP响应格式
    • VERY USEFUL!!!使用谷歌浏览器的开发者工具查看HTTP头

哎呀,本文依旧使用markdown语法进行编写排版

HTTP

HTTP协议的概念

http(超文本传输协议):是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。

P.S:由此想到了上学期学的《计算机网络》,觉得应该联系到计算机网络体系对HTTP进行理解,先占个坑,之后在复习《计算机网络》的时候再展开详述

由概念提取出的关键字:

  • 应用层协议 - 针对WEB应用
  • 一种连接的机制 - web应用之间使用HTTP协议来进行信息交换

HTTP协议的特点

  1. 客户/服务器模式。
  2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
  3. 灵活:HTTP允许传输任意类型的数据对象
  4. 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  5. 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

HTTP - URL

HTTP URL:URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息
格式http://host[":"port][abs_path]

  • http 表示要通过HTTP协议来定位网络资源;
  • host 表示合法的Internet主机域名或者IP地址;
  • port 指定一个端口号,为空则使用缺省端口80;abs_path指定请求资源的URI;
  • 如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。
    eg:
  1. 输入:www.guet.edu.cn
    浏览器自动转换成:http://www.guet.edu.cn/
  2. http:192.168.0.116:8080/index.jsp

HTTP - Web浏览器与Web服务器之间的通信步骤

  1. 建立TCP连接
    Web浏览器首先通过网络与Web服务器建立连接,该连接是通过TCP来完成的,HTTP是比TCP更高层次的应用层协议。(TCP是传输层协议)
  2. Web浏览器向Web服务器发送请求命令
    Web浏览器向Web服务器发送请求命令
    例如:GET/sample/hello.jsp HTTP/1.1
  3. Web浏览器发送请求头信息
    浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息。(之后浏览器会发送一空白行来通知服务器,它已经结束了该头信息的发送)
  4. Web服务器应答
    客户机向服务器发出请求后,服务器会客户机回送应答 例如HTTP/1.1 200 OK
  5. Web服务器发送应答头信息
    服务器会随同应答向用户发送关于它自己的数据及被请求的文档
  6. Web服务器向浏览器发送数据
    Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据。
    即发送完响应头信息后,还会发送响应数据????
  7. Web服务器关闭TCP连接
    一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接

以下是一张浏览器发送请求和服务器响应请求的示意图(来自网络):

HTTP请求格式

HTTP协议严格规定了HTTP请求和HTTP响应的数据格式
当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成:

  1. 请求方法、URI、HTTP协议版本
  2. 请求头(Request Header):包含许多客户端环境和请求正文的有用信息
  3. 请求正文: 包含请求参数——他和请求头之间用空格隔开,用于表示请求头结束
  • 下面是一个HTTP请求的例子:
    GET/sample.jspHTTP/1.1 [请求方法]
    Accept:image/gif.image/jpeg,/ [请求头]
    Accept-Language:zh-cn
    Connection:Keep-Alive
    Host:localhost
    User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
    Accept-Encoding:gzip,deflate
    [空行]
    username=zhangxinyi&password=1234 [请求正文]

HTTP响应格式

  1. 协议版本、状态代码、描述
  2. 响应头(Response Header)
  3. 响应正文
  • 下面是一个HTTP响应的例子:
    HTTP/1.1 200 OK
    Server:Apache Tomcat/5.0.12
    Date:Mon,6Oct2003 13:23:42 GMT
    Content-Length:112

VERY USEFUL!!!使用谷歌浏览器的开发者工具查看HTTP头

原文地址:https://www.cnblogs.com/chacha-z/p/10519569.html

时间: 2024-11-06 03:32:21

HTTP协议基本原理的相关文章

生成树协议基本原理

一.什么叫做生成树协议 1>.STP(Spanning Tree Protocol,生成树协议)是用于在局域网中消除数据链路层物理环路的协议:  2>.通过在桥之间互相转换BPDU(Bridge Protocol Data Unit,桥协议数据单元),来保证设备完成生成树的计算过程. 扩充: BPDU的类型: 1>.普通 BPDU :用于生成树计算以及维护生成树的一种报文 2>.BPDU  TCN:当网络拓扑发生变化时,会发送报文告知其他设备网络拓扑已经发生变化. 二.STP的作用

Paxos协议基本原理

/* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author: 张俊林 本文节选自<大数据日知录:架构与算法>第二章"数据复制与一致性" |2.4.4 Paxos协议 在过去十年里,Paxos基本成为了分布式领域内一致性协议的代名词.Google的粗粒度锁服务Chubby的设计开发者Burrows曾经说过:"所有一致性协议本质上要么是Paxos要么是其变体".Paxos是几乎所有相关课程必讲内容以及很多其它一致性协议的起点,Pa

第六章TCP和UDP基本原理

TCP/IP协议族的传输层协议主要包括TCP和UDP.TCP是面向连接的可靠的传输协议.它支持在并不可靠的网络上实现面向连接的可靠数据传输.UDP是无连接的传输协议,主要用于支持在校可靠的链路上的数据传输,或用于对延迟敏感的应用. TCP/IP传输层的作用 TCP/IP的传输层位于应用层和网络层之间,为终端主机提供端到端的连接.TCP/IP的传输层有TCP和UDP两种主要协议.TCP和UDP都基于相同的网络层协议IP.传输层协议的主要作用: 提供面向连接或无连接的服务:传输层协议定义了通信两端点

RPC协议解析

RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.简言之,RPC使得程序能够像访问本地系统资源一样,去访问远端系统资源.比较关键的一些方面包括:通讯协议.序列化.资源(接口)描述.服务框架.性能.语言支持等,注册中心一般为ZooKeeper 简单的说,RPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果. 三.

生成树基本内容

链路冗余.802.1D stp解决环路透明网桥:不会对转发报文做任何标记.针对数据帧.查看.学习.转发不对其修改 生成树协议基本原理 包含BPDU 桥接协议数据单元 所有交换机中.互相通告BPDU选出一个根网桥.对每个LAN选出离根网桥最近的为指定网桥(主要负责LAN数据转发).计算出最短路径 BPDU的格式 DMAC  SMAC  L/T(数据帧长度)  LLC Header(配置消息固定的链路头)   Payload(BPDU数据) BPDU包含的信息 主要内容:根网桥的ID.从指定网桥到根

HCNA-华为认证网络助理工程师 腾科

对应证书 华为认证网络助理工程师-HCDA(Huawei Certified Network Associate) 认证前提 无 适合人群 希望学习IP网络知识的人士: IP网络维护工程师.转岗工程师.新入职工程师: 希望从事ICT相关工作的初学者或初级网络技术员. 就业方向 网络工程师.技术支持工程师.驻场运维服务工程师.售前工程师.企业网络管理员等. 课程介绍 课程定位于中小型网络的配置和维护,内容包括但不限于:网络基础知识,流行网络的基本连接方法,基本的网络建造,基本的网络故障排除,华为路

合肥HCDA培训华为认证培训,哪家培训机构好

HCDA 认证培训课程内容 1.IP网络层次结构.华为数通设备在电信级IP网络中的应用 2.TCP/IP协议模型.常用链路层协议.ARP/RARP原理.IP协议.TCP/UDP原理.常用应用层协议原理.ICMP/ping/tracert原理.IPv6基础知识 3.HDLC/PPP协议基本原理与配置.Frame Relay基本原理与配置 4.以太网技术.交换机基本原理.VLAN基本原理与配置.STP基本原理与配置.VRRP 5.路由器工作原理.VRP特点与基本配置.静态路由协议原理与配置.RIP协

嵌入式操作系统与物联网演进之路

文/屠敏 物联网是新一代信息技术的重要组成部分,回顾其发展,其中不得不提的必然是嵌入式系统.传统的嵌入式系统与互联网的发展衍生出物联网,而在如今的物联网热潮之下,嵌入式系统也面临着全新的机遇与挑战.那么,两者的碰撞融合究竟会带来怎样的火花?对于传统的嵌入式开发者,我们应该如何改变应对新格局?在此我们采访了著名的嵌入式系统专家何小庆,跟他一起探索嵌入式操作系统与物联网演进之路. 何小庆,著名的嵌入式系统专家,国内最早涉足嵌入式 OS 者之一,创办了北京麦克泰软件技术有限公司,有 30 年嵌入式技术

华为HCNP-R&S-IERN认证考试介绍

HCNP-R&S-IERN考试内容覆盖IPv4地址规划.OSPF.IS-IS.BGP路由协议.路由的控制与选择.组播路由协议:华为路由器产品介绍和组网运用.济南博赛网络技术有限公司是山东区华为唯一官方授权培训中心.山东区唯一考试中心.济南博赛网络荣获华为2014年度十佳培训合作伙伴,成为山东区输送HCIE人数最多的地方,山东第一个HCIE就出自济南博赛网络.华为认证为技术融合背景下的ICT产业提供新的能力标准,以实现华为认证引领ICT行业技术认证,播种ICT行业未来的愿景. 知识点IP基础1.I