| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> HTTP到底是什么? -> 正文阅读 |
|
[网络协议]HTTP到底是什么? |
HTTP简介HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网( WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议,基于 TCP/IP 通信协议来传递数据。 HTTP原理HTTP 协议工作于客户端-服务端架构上。 浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求。 HTTP的消息结构?一个HTTP“客户端”是一个应用程序,通过连接到服务器达到向服务器发送一个或多个HTTP请求的目的; 一个HTTP“服务器”也是一个应用程序,接收客户端的请求并向客户端发送HTTP响应数据; HTTP使用统一资源标识符URL(Uniform Resource Identifiers)来传输数据和建立连接。 HTTP的两类报文:请求报文和响应报文。顾名思义,请求报文就是客户端向服务端发送请求的信号,响应报文就是服务端响应处理后回传给客户端的信号。 ?客户端请求报文客户端发送一个HTTP请求到服务器的请求消息一般包括以下格式:请求行、请求头、空行和请求体,其中空行也是组成部分之一,作用是进行分隔,必不可少。 结合HTTP请求实例说明各部分组成:
请求行:第一行就是请求行,由请求方法、URL、HTTP版本协议组成,之间用空格隔开,最后用回车或者换行符分割内容 ?其中,GET是请求方法,https://www.baidu com/是URL地址,HTTP/1.1指定了协议版本。 几种不同的请求方法: ?GET:最常见的请求方式,通常用于当客户端要从服务器中读取文档时,比如点击网页上的链接或者通过在浏览器的地址栏输入网址的方式来浏览网页,使用的都是GET方式。需要注意的是使用GET方法请求时,请求参数和对应的值是跟在URL后面,通过问号(“?”)和and连接符(“&”)以及“=”号连接。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。例如,/index.php?id=100&slec=yes,这样通过GET方式传递的数据直接表示在地址中。正式因为要传递的参数和值已经存在于URL中,所以采用GET方法请求的HTTP报文是没有请求体的。 缺点: 1.get携带的参数携带在url地址栏 数据保密不安全 2.传输的数据大小有限制 一般不超过1024个字符 POST: 向指定资源提交数据进行处理请求(如提交表单或者上传文件),数据被包含在请求体中。POST 请求可能会导致新的资源的建立和已有资源的修改,对传输的数据大小没有限制,所以可以传输大量的数据,并且因为数据封装在请求体中,没有直接暴露在URL中,所以比较私密和安全。 HEAD: 类似于GET请求,只不过返回的响应中没有具体内容,用于获取报头,服务端接受到HEAD请求后只返回响应头,而不会发送响应内容,这样就提高了传输效率。所以当我们只需要查看某个页面的状态的时候,使用HEAD是非常高效的。 其他请求方式: OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法,用得比较少。 请求头:
空行:用户进行内容分割,表示请求头到此为止,下一行的内容不再是请求头。 请求体:请求体包含的就是请求数据,正如上文提到的,当使用的是GET方法的时候,没有请求体。 ?服务器响应报文:客户端向服务端发送请求之后,服务器接收并处理客户端发过来的请求后正常情况下会返回一个HTTP的响应消息,这个就是响应报文。 HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。 ? ?状态行:
?响应头:
空行:?作为内容分割,表示以下不再是响应头的内容。 响应体:服务器返回给浏览器的响应信息。 ?HTTP content-typeContent-Type(内容类型),一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些 PHP 网页点击的结果却是下载一个文件或一张图片的原因。 Content-Type 标头告诉客户端实际返回的内容的内容类型。 语法格式:
常见媒体格式类型:
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:44:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |