网站首页 > 资源文章 正文
对于一些网络开发者而言,HTTP协议都是必须要掌握的,HTTP协议到底是什么,不仅对于专业人员来讲是要掌握的,对于接触互联网的人来讲,了解一些都是很有必要的。
目录
概述
特点
HTTP URL 详解
HTTP Request 请求
HTTP Response 响应
HTTP 状态码
HTTP 工作流程
概述
HTTP是HyperText Transfer Protocol(超文本传输协议)的缩写,是互联网上面应用最为广泛的的一种网络协议。HTTP是一个基于TCP/IP协议的客户端和服务器端请求和应答的标准。客户端一般是本地浏览器。
HTTP是一个工作在应用层的面向对象协议,浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送请求。服务器根据接收到客户端请求后,根据URL传递的信息,对应向客户端发送响应的信息。
特点
简单快速,浏览器向服务器发送请求的时候,一般情况下,只需要传递请求方法和路径,例如常用的POST、GET请求。因为这种简单的特点,使得HTTP服务器的压力也会比较小。保证了双方通信的及时快速。
灵活,HTTP几乎支持传递所有类型的数据对象。如文字、图像、音频、视频等。传输的具体对象标识在Header的参数Content-Type中。
无连接,这一点相信有过HTTP通信开发的人员都能够感受到,HTTP限制每次链接只处理一个请求。服务器处理完该请求并接受到客户端的应答后,才能接受第二次请求。
无状态,表示处理本次的请求对之前的请求没有记忆能了,保证每个请求事务的完整性。后续处理如果要和之前关联,必须携带上之前的参数供服务器判断,这点可能导致每次传送的链接数据量增大,如果每次都是单独的业务操作,服务器的应答就会很快。
支持浏览器/服务端(B/S)、客户端/浏览器(C/S)。
HTTP URL 详解
URL(Uniform Resource Locator)统一资源定位符,是一个HTTP通信中一个比较直接被用户接触到的东西,也是一个很重要的组成部分。其依托于URI(UniformResource Identifiers)统一资源标识符,来传输和建立连接。URL是一种特殊的URI,它更为细化的定位到了某个资源。
下面通过一个完整的URL来分析这个里面包含的信息:
https://www.hehehe.com:8080/he/index.php?user=123424#openDialog=1
协议:上面URL使用到的协议是“https:”,代表该网站是使用的HTTP协议。在Internet中,还有其他协议,如HTTP协议,文件传输用到的FTP协议。这些协议后面使用“//”作为分隔符。
域名:上面URL的域名就是“www.hehehe.com”。一个URL可以使用域名,也可以直接使用域名所解析到的IP访问。
端口:跟在域名后面的就是端口,上面的8080就是端口,域名和端口之间通过“:”来分开,端口不是必须的,缺省状况默认的端口是80,在服务器上,每一个对外提供服务的应用程序都有端口。常用的MySQL是3306,Apache是80。FTP为22等。
虚拟目录:域名部分后面第一个“/”到最后一个“/”为止,是虚拟目录的部分,虚拟目录也不是URL的必须的部分。如“www.baidu.com”也可以直接访问百度,上面的URL中"/he/"就是一个虚拟目录。
文件部分:URL中从最后一个“/”到“?”中间的部分就是文件,如果没有“?”,就是到“#”。如上面的“index.php”就是一个文件。
参数部分:从“?”到“#”的部分,上面的“user=123424”就是参数。
锚部分:从“#”到最后都是锚部分,上面的“openDialog=1”就是锚部分。
HTTP Request 请求
在概述中我们说到了,一次完整的HTTP请求,需要有客户端发起请求以及服务端相应请求的操作。Request就是客户端发起的请求。
HTTP请求的类型有以下一些,主要用到的就是GET和POST两种。GET用户快速传递简单的,较小的参数。POST用于传输较大的复杂的数据类型。
一个HTTP Request主要包含以下几个部分:
请求行(Request Line),请求行以一个方法头部开头,然后紧跟一个空行,后面跟着URI和协议的版本。
请求头部(Request Header),头部里面包含一些基本属性,如指向的具体主机信息、请求的发起参数类型、访问请求的客户端信息、一些授权信息等。
空行,介于请求头部与请求主体之间,必须要有。
请求主体(Request Body),在GET请求中,请求的参数是和头部一起的,在POST请求中,请求主体是单独存在的。
HTTP Response 响应
在服务器接受到HTTP的请求后,一般要给出一个响应消息。响应消息也是由四部分组成,大体和请求消息类似。
状态行,由HTTP版本号,状态码,状态消息三部分组成
消息报头,用来标识一些附加信息,如上图中的第二行和第三行。标识了一些时间,页面字符编码信息。
空行,上面的第四行,也是必须的。
响应正文,空行后面的HTML信息就是正文。
HTTP 状态码
状态码就是访问服务器,服务器给出的返回提醒,大体上讲状态码,可以看到这些信息。
1XX:表示请求接受,正在处理。
2XX:表示处理成功,请求被接受、理解、接受。
3XX:表示重定向,完成请求需要更进一步的操作。
4XX:客户端请求不正确,请求被中断或者服务器找不到资源。
5XX:服务器内部错误,无法完成请求。
HTTP 工作流程
下面介绍一个一次完整的HTTP请求会经历那些过程:
客户端连接到HTTP服务器。
客户端发送HTTP Request请求。
服务器接受请求并返回HTTP响应。
两端释放TCP连接。
浏览器获取到Response的内容渲染到页面供用户浏览。
今天的互联网科技知识就为你讲到这里,更多精彩内容,欢迎关注本头条号。
猜你喜欢
- 2024-10-07 细说HTTP协议及其工作流程(mqtt协议和http协议区别)
- 2024-10-07 计算机网络|HTTP协议(计算机网络|http协议有哪些)
- 2024-10-07 关于 HTTP 协议,你了解多少(http协议网址含义)
- 2024-10-07 还不懂 HTTP 协议的吗?一篇文章讲透
- 2024-10-07 HTTP协议和HTTPS协议的区别详解(http协议和https协议的区别详解过程)
- 2024-10-07 蓝易云 - 网络通信协议-HTTP协议详解!
- 2024-10-07 HTTP协议入门的核心知识点总结,全在这里了,图文并茂拿走不谢
- 2024-10-07 介绍一下 HTTP 协议(http协议系列介绍)
- 2024-10-07 浅谈HTTP协议(http协议是目前在www中应用最广的协议)
- 2024-10-07 详解:什么是HTTP/3 和 QUIC 协议(modbus通讯协议功能码详解)
你 发表评论:
欢迎- 最近发表
-
- UG10.0UG12.0教程,共63章节,送给那些正在自学UG编程的朋友
- UG产品图档下载,连筋薄板,外形铣、孔铣都要用
- 天正建筑 T30V1.0 下载安装教程(支持CAD2025)
- 教你如何开启UG NX12.0设置保护加密(文件密码)
- UG NX 8.5 安装教程,安装过程就是这么简单
- ug安装教程详细步骤ug怎么免费安装教程ug软件怎样安装步骤
- UG/NX安装失败,如何才能彻底删除(卸载)UG/NX?6步就能解决
- UG8.5 正式版安装方法(ug8.8安装)
- ug12.0版安装教程与安装包免费下载 #ug安装
- China-EU 50 years: Advancing stability and prosperity through partnership
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)