IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> URL& http协议&https协议&get与post请求 -> 正文阅读

[网络协议]URL& http协议&https协议&get与post请求

目录

1.URL

2.HTTP协议简介

3.get与post的区别

4.http和https的区别


1.URL

????????URL就是资源的地址、位置,互联网上的每个资源都有一个唯一的URL。

URL的基本格式:协议://主机地址/路径

URL中常用的协议:

????????1)HTTP:超文本传输协议,访问的是远程的网络资源,格式是http://

????????2)file协议的是本地计算机上的资源,格式是file://(不用加主机地址

????????3)mailto:访问的是电子邮件地址,格式是mailto:

????????4)FTP:访问的是共享主机的文件资源,格式是ftp://

2.HTTP协议简介

????????1)HTTP是超文本传输协议:规定客户端和服务器之间的数据传输格式,让客户端和服务端能有效地进行数据沟通。

????????2)特点:简单快速;灵活:HTTP允许传输任意类型的数据;HTTP 0.9和1.0使用非持续连接:限制每次连接只处理一个请求,服务器对客户端的请求做出响应后,马上断开来凝结,方式可以节省传输时间。

????????3)HTTP通信的步骤:

?????? ????????1.请求:客户端向服务器索要数据

?????????????? 2.响应:服务器返回客户端响应的数据

????????4)HTTP协议报文格式:

??????????????? 1.HTTP请求报文格式:

?????? ?????????? (1)请求行:包含了请求方法、请求资源路径、HTTP协议版本

GET /LDServer/resources/images/1.jpg HTTP/1.1

从请求行中得到的信息:1>发送的是GET请求,2>服务器名称:LDServer,3>资源路径:resources/images/1.jpg ?4>协议的版本:1.1

?????? ????????? (2)请求头:包含了对客户端的环境描述、客户端请求的主机地址等信息

Host: 192.168.1.105:8080?//?客户端想访问的服务器主机地址

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9) Firefox/30.0?? //?客户端的类型,客户端的软件环境

????????Intel Mac OS X 10.9:表示我是用的Mac电脑

????????Mozilla/5.0,Firefox/30.0:表示我是实用的是火狐浏览器

Accept: text/html, */* ? ? //?客户端所能接收的数据类型,txt和html格式的文件;而*/*表示所有文件都能接收

Accept-Language: zh-cn?????//?客户端的语言环境:中文

Accept-Encoding: gzip?????//?客户端支持的数据压缩格式

?????? ?????? (3)请求体:客户端发给服务器的具体数据,比如文件数据

?????????? 2.HTTP响应报文格式:

?????? ??????? (1)状态行:包含了HTTP协议版本、状态码、状态英文名称

?????? ????????(2)响应头:包含了对服务器的描述、对返回数据的描述

Server: Apache-Coyote/1.1?????????// 服务器的类型

Content-Type: image/jpeg?????????//?返回数据的类型

Content-Length: 56811?????????//?返回数据的长度

Date: Mon, 23 Jun 2015?12:54:52 GMT????//?响应的时间

????? ????????(3)实体内容:服务器返回给客户端的具体数据。

3.get与post的区别

??????? 1)get:在URL的后面以?的形式跟上发给服务器的参数,多个参数之间用&隔开。

?????? ????????????????比如:?http://ww.test.com/login?username=123&pwd=234&type=JSON

????????????? post:发给服务器的参数全部放在请求体中

??????? 2)get 请求在 url 中传递的参数是有长度限制的(由于浏览器和服务器对URL长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过1KB。),而 post 没有。

??????? 3)get 产生一个 TCP 数据包; post 产生两个 TCP 数据包

????????????????对于 get 方式的请求,浏览器会把 http 的 header 和 data 一并发送出去,服务器响应200(返回数据)。

????????????????而对于 post,浏览器先发送 header,服务器响应100 continue,浏览器再发送 data,服务器响应200 ok(返回数据)

4.http和https的区别

????????1)https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。

CA证书的申请及其使用过程:有非对称加密和对称加密(CA认证)

????????(1)非对称加密:客户端和服务端均拥有一个公有密匙和一个私有密匙。公有密匙可以对外暴露,而私有密匙只有自己可见。

???????? 缺点:1. 中间人会将客户端的公匙替换成自己的;中间人会截取客户端发来的消息。

? ?????????? 2.非对称加密的性能相对对称加密来说会慢上几倍甚至几百倍,比较消耗系统资源。

????????(2)数字证书与数字签名

??????????????? 1、服务器拥有自己的私钥与公钥

??????????????? 2、服务器将公钥交给CA认证机构,请求给予一份数字证书

??????????????? 3、CA认证机构生成数字证书,并颁发给服务器

??????????????? 4、服务器将带有公钥信息的数字证书发给客户端

??????????????? 5、进入客户端生成对称密钥再进行对接的过程

?????????????

????????2)http是超文本传输协议,信息是明文传输,https则是具有安全性的SSL/TLS加密传输协议。

?????? SSL(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。

????????TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。TLS是HTTP与TCP协议之间的一层,通常TLS发生在TCP三次握手之后,此时进行TLS四次握手,然后再进行HTTP通信

??? 3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

?? ?4、http的连接很简单,是无状态的;HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-18 11:30:16  更:2021-11-18 11:30:55 
 
开发: 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/26 6:35:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码