https中的TLS协议详解

11 篇文章 2 订阅
订阅专栏

协议记录层(Record Protocol format)的格式

TLS 记录的头部有三个组成部分

第0个字节: TLS 记录的类别
第1-2个字节: TLS 版本(主版本/次版本)
第3-4个字节:包含头部在内的总长度
Length of data in the record (excluding the header itself). The maximum supported is 16384 (16K).

         record type (1 byte)
        /
       /    version (1 byte major, 1 byte minor)
      /    /
     /    /         length (2 bytes)
    /    /         /
 +----+----+----+----+----+
 |    |    |    |    |    |
 |    |    |    |    |    | TLS Record header
 +----+----+----+----+----+

Recode Type的种类

Record Type Valuesdechex
CHANGE_CIPHER_SPEC200x14
ALERT210x15
HANDSHAKE220x16
APPLICATION_DATA230x17

版本号的种类

Version Valuesdechex
SSL 3.03,00x0300
TLS 1.03,10x0301
TLS 1.13,20x0302
TLS 1.23,30x0303
TLS1.33,40x0304

握手协议(Handshake Protocol)的格式

握手协议在recode Layer的type是22,后面会包括握手的类型,握手消息的长度,和消息体三部分。
Handshake Type是8位
handshake message length 24位

                           |
                           |
                           |
         Record Layer      |  Handshake Layer
                           |                                  |
                           |                                  |  ...more messages
  +----+----+----+----+----+----+----+----+----+------ - - - -+--
  | 22 |    |    |    |    |    |    |    |    |              |
  |0x16|    |    |    |    |    |    |    |    |message       |
  +----+----+----+----+----+----+----+----+----+------ - - - -+--
    /               /      | \    \----\-----\                |
   /               /       |  \         \
  type: 22        /        |   \         handshake message length
                 /              type
                /
           length: arbitrary (up to 16k)

其中握手的种类有如下一些:

Handshake Type Valuesdechex
HELLO_REQUEST00x00
CLIENT_HELLO10x01
SERVER_HELLO20x02
CERTIFICATE110x0b
SERVER_KEY_EXCHANGE120x0c
CERTIFICATE_REQUEST130x0d
SERVER_DONE140x0e
CERTIFICATE_VERIFY150x0f
CLIENT_KEY_EXCHANGE160x10
FINISHED200x14

HelloRequest

重启握手过程,不会经常使用,如果一个连接持续很久,那么它的安全性就降低了,服务器可以使用这种消息,重启握手。

     |
     |
     |
     |  Handshake Layer
     |
     |
- ---+----+----+----+----+
     |    |    |    |    |
   4 |  0 |  0 |  0 |  0 |
- ---+----+----+----+----+
  /  |  \    \---------\
 /       \        \
record    \    length: 0
length     \
            type: 0

client hello

这种类型的消息用于开启一个TLS 的握手。客户端会发送其支持的cipher suites,对server而言,将会挑选出最佳的密码套件,压缩方法和一些扩展内容。并且使用sessionId 可以重复使用之前的会话。

     |
     |
     |
     |  Handshake Layer
     |
     |
- ---+----+----+----+----+----+----+------+----+----------+--------+-----------+----------+
     |  1 |    |    |    |    |    |32-bit|    |max 32-bit| Cipher |Compression|Extensions|
     |0x01|    |    |    |  3 |  1 |random|    |session Id| Suites |  methods  |          |
- ---+----+----+----+----+----+----+------+----+----------+--------+-----------+----------+
  /  |  \    \---------\    \----\             \       \
 /       \        \            \                \   SessionId
record    \     length        SSL/TLS            \
length     \                  version         SessionId
            type: 1       (TLS 1.0 here)       length

在这里插入图片描述

server hello

server hello和client hello是类似的,不一样的是它只会携带一种密码套件和一种压缩方法。如果其中包含了一个sessionId,表示客户端将可以reuse。

     |
     |
     |
     |  Handshake Layer
     |
     |
- ---+----+----+----+----+----+----+----------+----+----------+----+----+----+----------+
     |  2 |    |    |    |    |    |  32byte  |    |max 32byte|    |    |    |Extensions|
     |0x02|    |    |    |  3 |  1 |  random  |    |session Id|    |    |    |          |
- ---+----+----+----+----+----+----+----------+----+----------+--------------+----------+
  /  |  \    \---------\    \----\               \       \       \----\    \
 /       \        \            \                  \   SessionId      \  Compression
record    \     length        SSL/TLS              \ (if length > 0)  \   method
length     \                  version           SessionId              \
            type: 2       (TLS 1.0 here)         length            CipherSuite

certificate

body中将包含了证书链。

     |
     |
     |
     |  Handshake Layer
     |
     |
- ---+----+----+----+----+----+----+----+----+----+----+-----------+---- - -
     | 11 |    |    |    |    |    |    |    |    |    |           |
     |0x0b|    |    |    |    |    |    |    |    |    |certificate| ...more certificate
- ---+----+----+----+----+----+----+----+----+----+----+-----------+---- - -
  /  |  \    \---------\    \---------\    \---------\
 /       \        \              \              \
record    \     length      Certificate    Certificate
length     \                   chain         length
            type: 11           length

ServerKeyExchange

ServerKeyExchange 使用 Diffie-Hellman 秘钥交换算法时需要

由客户端接收。客户端需要服务端提供这个参数,用于建立对称加密。这是一个可选的参数,并不是所有的秘钥交换算法都需要提供这个参数。 参数的格式根据 CipherSuite 的不同而不同。

    |
    |
    |
    |  Handshake Layer
    |
    |
- ---+----+----+----+----+----------------+
    | 12 |    |    |    |   algorithm    |
    |0x0c|    |    |    |   parameters   |
- ---+----+----+----+----+----------------+
 /  |  \    \---------\
/       \        \
record    \     length
length     \
           type: 12

CertificateRequest

当服务器需要使用客户端证书验证的时候,需要使用这种类型。在web server 上使用不是很普遍

     |
     |
     |
     |  Handshake Layer
     |
     |
- ---+----+----+----+----+----+----+---- - - --+----+----+----+----+-----------+-- -
     | 13 |    |    |    |    |    |           |    |    |    |    |    C.A.   |
     |0x0d|    |    |    |    |    |           |    |    |    |    |unique name|
- ---+----+----+----+----+----+----+---- - - --+----+----+----+----+-----------+-- -
  /  |  \    \---------\    \    \                \----\   \-----\
 /       \        \          \ Certificate           \        \
record    \     length        \ Type 1 Id        Certificate   \
length     \             Certificate         Authorities length \
            type: 13     Types length                         Certificate Authority
                                                                      length

ServerHelloDone:

This message finishes the server part of the handshake negotiation. It does not carry any additional information.

     |
     |
     |
     |  Handshake Layer
     |
     |
- ---+----+----+----+----+
     | 14 |    |    |    |
   4 |0x0e|  0 |  0 |  0 |
- ---+----+----+----+----+
  /  |  \    \---------\
 /       \        \
record    \     length: 0
length     \
            type: 14

ClientKeyExchange:

It provides the server with the necessary data to generate the keys for the symmetric encryption. The message format is very similar to ServerKeyExchange, since it depends mostly on the key exchange algorithm picked by the server.

     |
     |
     |
     |  Handshake Layer
     |
     |
- ---+----+----+----+----+----------------+
     | 16 |    |    |    |   algorithm    |
     |0x10|    |    |    |   parameters   |
- ---+----+----+----+----+----------------+
  /  |  \    \---------\
 /       \        \
record    \     length
length     \
            type: 16

CertificateVerify:

This message is used by the client to prove the server that it possesses the private key corresponding to its public key certificate. The message holds hashed information digitally signed by the client. It is required if the server issued a CertificateRequest to the client, so that it had to send a Certificate that needs to be verified. Once again, the exact size and structure of the information depends on the agreed algorithm. In all cases, the information that serves as input to the hash functions is the same.

     |
     |
     |
     |  Handshake Layer
     |
     |
- ---+----+----+----+----+----------+
     | 15 |    |    |    |  signed  |
     |0x0f|    |    |    |   hash   |
- ---+----+----+----+----+----------+
  /  |  \    \---------\
 /       \        \
record    \     length
length     \
            type: 15

Finished:

This message signals that the TLS negotiation is complete and the CipherSuite is activated. It should be sent already encrypted, since the negotiation is successfully done, so a ChangeCipherSpec protocol message must be sent before this one to activate the encryption. The Finished message contains a hash of all previous handshake messages combined, followed by a special number identifying server/client role, the master secret and padding. The resulting hash is different from the CertificateVerify hash, since there have been more handshake messages.

     |
     |
     |
     |  Handshake Layer
     |
     |
- ---+----+----+----+----+----------+
     | 20 |    |    |    |  signed  |
     |0x14|    |    |    |   hash   |
- ---+----+----+----+----+----------+
  /  |  \    \---------\
 /       \        \
record    \     length
length     \
            type: 20

ChangeCipherSpec Protocol 格式

指示Client从现在开始发送的消息都是加密过的
指示Server从现在开始发送的消息都是加密过的

按照逻辑理解,ChangeCipherSpec 应该是属于握手协议的一部分,但是却被单独列出来,这是因为记录协议的封装导致的。 记录协议的记录块是一整块被加密的,一个记录块小于等于 2^16 字节。假如 ChangeCipherSpec 所在块中有用户数据,那么这个数据 应该被加密,但是事实上,无法对记录块中的部分数据进行加密。所以单独列出。

                           |
                           |
                           |
         Record Layer      |  ChangeCipherSpec Layer
                           |
                           |
  +----+----+----+----+----+----+
  | 20 |    |    |    |    |    |
  |0x14|    |    |  0 |  1 |  1 |
  +----+----+----+----+----+----+
    /               /      |
   /               /       |
  type: 20        /        |
                 /
                /
           length: 1

参考文章

http://blog.fourthbit.com/2014/12/23/traffic-analysis-of-an-ssl-slash-tls-session/
https://my.oschina.net/tsh/blog/1501243

https://www.cnblogs.com/Jack-Blog/p/13170728.html#hello-request

HTTPS协议TLS协议
qq_43589852的博客
11-21 4005
HTTPS协议介绍 HTTPS作为一种安全的HTTP数据传输协议,被广泛应用于万维网上信息的通信。目前绝大部分网站都采用HTTPS协议进行传输信息。 HTTPS协议TLS协议 HTTP协议主要用于服务端与客户端,即C/S模式架构的系统传输超文本传输协议。 HTTP协议数据处理速度快,但缺点是通信过程使用明文传输client请求和server响应的报文。因此存在信息窃听、信息篡改和信息劫持的风险。因此诞生出了HTTPS协议HTTPS基于HTTP协议HTTPS的安全基础是SSL/TLSTLS 是介
传输层安全(TLS)笔记
热门推荐
weixin_43586667的博客
02-05 1万+
一.什么是TLS TLS(Transport Layer Security,安全传输层),TLS是建立在传输层TCP协议之上的协议,服务于应用层,它的前身是SSL(Secure Socket Layer,安全套接字层),它实现了将应用层的报文进行加密后再交由TCP进行传输的功能。 ...
2024年最全TLS、运输层安全协议(4),2024年最新最新整理
最新发布
2401_84302722的博客
05-11 1160
客户 A 向服务器 B 发送一个明文记录时,对 MAC 密钥 MA 、记录的当前序号和明文记录进行散列运算,鉴别明文记录的完整性(内容和顺序均无误)。(5)客户 A 用 B 的公钥 PKB 对主密钥 MS 加密,得出加密的主密钥 PKB(MS),发送给服务器 B。·s 代表 security,表明现在使用的是提供安全服务的 HTTP 协议(TCP 的 HTTPS 端口号是 443,而不是平时使用的端口号 80)。·在发送方,TLS 接收应用层的数据,对数据进行加密,然后把加密后的数据送往 TCP 套接字。
HTTPS和HTTP的详解
weixin_43405946的博客
05-11 774
HTTPS和HTTP的区别 HTTP是超文本传输协议,是一个客户端和服务器端请求和应答的标准, HTTPS: 是以安全为目标的HTTP通道,HTTP下加入SSL/TSL层,HTTPS的安全基础是SSL,它有两个作用: 建立一个信息安全通道,来保证数据传输的安全 确保网站的真实性 HTTPS协议需要到ca申请证书,需要费 用 HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性SSL加密传输协议 HTTP端口是80,HTTPS端口是443 HTTP连接是无状态的,HT
图解Http与Https
ZCC的专栏
04-13 2110
一、TCP报文格式 (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。 (3)标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下: (A)URG:紧急指针(urgent pointer)有效。 (B)ACK:确...
解密TLS协议记录TLS协议剖析记录
walleva96的博客
07-13 7773
引言 想要解密TLS的首当其冲的点,便是要深入了解TLS的RFC协议文档。
HTTP、HTTPS协议详解
Zincy星辰
04-18 3039
目录 HTTP的报文格式 请求: 响应: HTTP请求(Request) URL基本格式 HTTP方法POST 请求 GET请求特点 POST请求特点: GET和POST的区别 其他方法: HTTP响应 HTTP状态码 ※构造HTTP请求※ HTTPS的工作过程 重要特点:一发一收(请求request 响应response) HTTP的报文格式 请求: 首行:方法 URL 版本号 请求:键值对结构,每个键值对占一行。键和值之间使用冒号空格分割 .
SSL&TLS 协议详解
07-25
SSL/TLS协议详解 SSL(Secure Sockets Layer)和TLS(Transport Layer Security)协议是互联网上广泛采用的安全协议,主要用于在网络通信确保数据的安全性和完整性。它们主要在TCP/IP协议之上,为上层应用提供...
HTTPS协议研究 文WORD版
11-02
**HTTPS协议详解** HTTPS,全称为Hypertext Transfer Protocol Secure,是一种网络安全协议,它结合了HTTP(超文本传输协议)和SSL/TLS(安全套接层/传输层安全)技术,用于在互联网上传输加密的数据,确保用户与...
如何让Nginx快速支持TLS1.3协议详解
09-30
【如何让Nginx快速支持TLS1.3协议详解】 Nginx 是一款广泛应用的高性能Web服务器和反向代理服务器,其对TLS(Transport Layer Security)协议的支持是保证网络安全的重要一环。TLS 1.3是最新且最安全的TLS协议版本...
TLSSSL协议详解
06-25
很多人把SSL和 HTTPS混为一谈,认为SSL就是HTTPS,其实不尽然。SSL全称是“Secure Socket Layer”,字面上可以从“Secure”单词可以看出,SSL是负责“安全”传输的,并不关心传输的内容是什么。而HTTPS只是SSL应用的...
HTTPS协议详解(四):TLS:SSL握手过程1
08-03
HTTPS协议是HTTP的安全版本,它利用SSL/TLS协议进行数据传输,确保在网络通信数据的保密性和完整性。本文将详细讲解TLS/SSL握手过程,主要包括握手与密钥协商过程、会话缓存握手过程以及重建连接。 1. 握手与密钥...
https 详解
weixin_39505091的博客
03-07 6000
文章目录一. 加密机制二. 认证机制三. https 传输的数据是否需要二次加密 http + 加密 + 认证 + 完整性保护 = https http在传输过程会受到窃听、篡改的风险,且通信的双方也有可能是伪造的,所以在传输机密信息的时候,需要进行加密、通信双方认证以及信息完整性保护。https是在http的基础上添加了一个SSL协议,即http先与ssl进行通信,ssl再与tcp进行通信。 https会对http请求的 header 和 body 都进行加密,可以防止 token 被盗用,因此 htt
SSL/TLS协议简介
haiziccc的专栏
10-09 1047
SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议TLS与SSL在传输层与应用层之间对网络连接进行加密。 SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL
HTTPSTLS(26)
GeekLee的博客
07-16 452
1. SSL 与 TLS 2. 从网络协议的角度理解 HTTPS 3. 从密码学的角度理解 HTTPS 3.1. TLS 工作流程 3.2. 密码基础 3.2.1. 伪随机数生成器 3.2.2. 消息认证码 3.2.3. 数字签名 3.2.4. 公钥密码 3.2.5. 证书 3.2.6. 密码小结 3.3. TLS 使用的密码技术 3.4. TLS 总结 4. RSA 简单示例 5...
HTTPS的理解(证书、认证方式、TLS握手)
迷雾总会解
09-12 5587
HTTP 存在的问题没有加密,无法保证通信内容不被窃听。没有报文完整性验证,无法确保通信内容在传输不被改变。没有身份鉴别,无法让通信双方确认对方身份。HTTP over SSL,在 HTTP 传输上增加了传输层安全性(TLS)或安全套接字层(SSL),通过信息加密、数据完整性校验、身份鉴别为 HTTP 事务提供安全保证。SSL 会对数据进行加密并把加密数据送往 TCP 套接字,在接收方,SSL 读取 TCP 套接字的数据并解密,把数据交给应用层。
TLS协议分析 (四) handshake协议概览
OpenIM的博客
09-07 2426
5. handshake 协议 handshake protocol重要而繁琐。 TLS 1.3对握手做了大修改,下面先讲TLS 1.2,讲完再介绍一下分析TLS 1.3. 5.1.handshake的总体流程 handshake protocol用于产生给record protocol使用的SecurityParameters。 在handshake: 客户端和服务器端协商TLS协议版本号和一个CipherSuite, 认证对端的身份(可选,一般如https是客户端认证服务器端的身份), 并且使用密钥
HTTPS工作原理及报文讲解
echo
07-27 1万+
1 HTTPS 1.1 HTTPS简介 HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议,是一个安全通信通道,它基于HTTP开发用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版,是使用TLS/SSL加密的HTTP协议。 SSL (Secure Sockets Layer)安全套接层。是由Netscape公司于1990年开发,用于保障Word Wide Web(WWW)通讯的安全。主要任务..
传输层的安全协议——SSL/TLS,及HTTPS的工作原理
Neonline254的博客
11-09 7494
SSL/TLS协议是当今最流行的Web安全协议,它实现了两个应用进程之间的安全传输。 本文较为详细地介绍了TLSHTTPS的工作原理,并简单介绍了其涉及的计算机网络和密码学知识。
https启用tls1.2
07-28
要启用TLS 1.2协议,您可以按照以下步骤进行操作: 1. 打开注册表编辑器,可以通过运行命令regedit来打开。 2. 导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols路径。 3. 在Protocols下右键,选择新建,然后选择项,创建一个名为TLS 1.2的新项。 4. 在TLS 1.2下右键,选择新建,然后选择项,创建一个名为Server的新项。 5. 在Server下右键,选择新建,然后选择DWORD值,创建一个名为Enabled的新DWORD值。 6. 双击Enabled,将数值数据设置为1,表示启用TLS 1.2协议。 7. 同样,在TLS 1.2下右键,选择新建,然后选择项,创建一个名为Client的新项。 8. 在Client下右键,选择新建,然后选择DWORD值,创建一个名为Enabled的新DWORD值。 9. 双击Enabled,将数值数据设置为1,表示启用TLS 1.2协议。 10. 完成后,关闭注册表编辑器。 通过以上步骤,您已经成功启用了TLS 1.2协议。请注意,这些步骤是为了在Windows操作系统启用TLS 1.2协议。\[1\]同时,启用TLS 1.2协议可以提高安全性,因为它使用了ECDHE来增强随机性,并且具有前向安全性。与RSA相比,ECDHE在服务器密钥泄露的情况下更加安全,因为之前的连接对应密钥无法被解密,从而保护了数据的安全性。此外,进行Finished校验也是非常必要的,以防止传输过程的篡改。\[2\]\[3\] #### 引用[.reference_title] - *1* [windows server 2008 r2 IIS启用TLS 1.2(安装SSL后用TLS 1.2)](https://blog.csdn.net/weixin_32210881/article/details/119262828)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [HTTPSTLS1.2连接详解](https://blog.csdn.net/qq_40276626/article/details/120396330)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 有一种虫叫蠓虫,蚊子在它面前不值一提 74703
  • 机器学习面试题60~100 48179
  • 机器学习面试题1~60 36219
  • 如何解决MathType 53号错误 35364
  • 数据、数据元素、数据项、数据对象的理解 35290

分类专栏

  • 计算机基础 1篇
  • 汇编语言 1篇
  • 开源项目分析 2篇
  • 电子技术 1篇
  • effective c++ 54篇
  • Effective_STL 1篇
  • Linux-0.11详解 35篇
  • 编译原理 2篇
  • C++ language 89篇
  • 工具 9篇
  • 数据结构与算法 9篇
  • 面经大全 9篇
  • 数据库 5篇

最新评论

  • HTTPS通信的过程的三个随机数的作用

    耶鲁达西: 在客户端和服务端的master secret是依据三个随机数推导出来的,它是不会在网络上传输的,只有双方知道,不会有第三者知道。同时,客户端推导出来的session secret和hash secret与服务端也是完全一样的。 我从别处看到说,他们的密码不同,为了防消息退回攻击呢。所以如何理解?

  • 理解空穴电流

    2401_83658680: 看来空穴的移动需要比电子施加更多的能量

  • 直接选择排序及其稳定性分析

    eicxl2: 讲的很清楚,谢谢

  • 面试题:希尔排序是一种稳定排序吗?

    小糖仔: 作者放错图了吧,三个图都是一样的

  • vscode突然不能输入中文句号,怎么办

    WangXCan: 泪目!感恩的心

大家在看

  • ubuntu22.04下YOLOv5 TensorRT模型部署
  • 速度与质量的碰撞——对抗扩散蒸馏 (ADD) 如何彻底改变图像生成 1012
  • IP代理可以代理浏览器吗
  • c语言(7.19)
  • C语言 数据存储之结构类型 万字讲解#数据类型详细介绍 #整型在内存中的存储 #大小端字节序 #浮点型在内存的存储解析

最新文章

  • 计算机基本架构-时序逻辑电路回顾
  • 汇编语言第一讲:计算机的组织架构和汇编语言介绍
  • 动态链接库的加载
2024年4篇
2023年136篇
2022年2篇
2021年30篇
2020年66篇
2019年1篇
2018年44篇
2017年1篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码盐田SEO按天扣费平湖建设网站丹竹头网站优化龙华阿里店铺运营沙井阿里店铺运营龙岗网站推广宝安seo网站优化大芬网站优化按天计费吉祥百姓网标王推广石岩设计公司网站吉祥网站开发爱联网络推广大运优秀网站设计双龙高端网站设计大芬网站推广松岗企业网站设计布吉百度关键词包年推广广州模板网站建设大鹏网络营销大浪SEO按天扣费布吉百度seo爱联网络营销坂田网页设计坂田网站推广工具南联网站关键词优化吉祥推广网站南澳关键词排名同乐关键词排名同乐关键词按天计费大浪网络推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化