HTTP网络协议://www.yijinbi.com

  • 建议客户访问其他URL或访问方式

  • 307 状態码可以确保请求方法和消息主体不会发生变化

  • 请求不允许 , 授权失败

  • 响应目标未找到请求失败

  • 服务器产生内部错误 , 系统错误

表示层 : 数據格式的转换,使其和网络数据格式保持同一格式 会话层 : 建立、管理、终止会话 传输层 : 定义传输数据的协议端口号,以及流控和差错校驗 (TCP UDP) 数据链路层 : 建立逻辑连接、进行硬件地址寻址、差错校验 [2] 等功能 物理层 : 建立、维护、断开物理连接。(比特流 0 1 与电压之间的互换)

HTTP网络协议 协议的工作特点和工作原理

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

  • GET 会被浏览器自动cache,而POST需要手动设置

  • GET 明文提交(不安全)且只支持url编码post支持多种方式编码

  • GET 长度限制 (大多数浏览器限制长度 2K 个字节,而服务器最多处悝64 k 的数据)

  • GET 在发送数据的时候只产生一个数据包,而 get 会产生两个tcp数据包,post会先发送一个header请求头服务器端返回一个100 状态码(是一个临时状态码,服务器端已经收到请求等待客户端再次发送请求,如已经发送则忽略)。 当在网络环境差的情况下,两次包的TCP在验证数据包完整性上囿非常大的优点。 fixbox只发送一次包

网络协议中常见端口类型及分类

本文由 创作采用 国际许可协议进行许可
本站文章除注明转载/出处外,均為本站原创或翻译转载前请务必署名

}

统一资源定位符(URL):

3.域名系统DNS解析出清华大学服务器的IP地址

4.浏览器与服务器建立TCP连接

6.服务器给出响应把文件index.htm发给浏览器

8.浏览器显示“清华大学院系设置”文件index.htm中的所有攵本

代理服务器的一点相关知识:

HTTP网络协议有两类报文:请求报文----从客户向服务器发送请求报文。 响应报文----从服务器到客户的回答

由于HTTP網络协议是面向正文的,因此在报文中的每一个字段都是一些ASCII码串因而每个字段的长度都是不确定的。

报头由三个部分组成即开始行、首部行和实体主体。在请求报文中开始行就是请求行。

响应报文的开始行就是状态行状态行包括三项内容,即HTTP网络协议的版本状態码,以及解释状态码的简单短语

在服务器上存放用户的信息:

万维网站点可以使用Cookie来跟踪用户。Cookie原意是“小甜饼”在这里Cookie表示在HTTP网絡协议服务器和客户之间传递的状态信息。我们在登录邮箱的时候不管查看收件箱还是垃圾箱,都是在一个账号下;在游戏里登录了┅个账号,不管是打怪还是买装备都在一个人物角色下为了维护账号的信息,HTTP网络协议协议设置了规范的名字叫做Cookie

1.当用户张三浏览某個使用Cookie的网站时,该网站的服务器就为张三产生一个唯一的识别码并以此作为索引在服务器的后端数据库产生一个项目。接着在给张三嘚HTTP网络协议响应报文中添加一个叫做Set-cookie的首部行

2.当张三收到这个响应时,其浏览器就在它管理的特定Cookie文件中添加一行其中包括这个服务器的主机名和Set-cookie后面给出的识别码。当张三继续浏览这个网站时每发送一个HTTP网络协议请求报文,其浏览器就会从其Cookie文件取出这个网站的识別码并放到HTTP网络协议请求报文Cookie首部行中:

}

TCP/IP协议是一个协议的集合它是由眾多的互联网相关联的协议集合的总称。如图

TCP/IP模型分为5层:应用层传输层,网络层数据链路层,物理层(注意:OSI分层是分为七层的)分层的最大好处,就是各层负责各层的任务一旦某一块出现问题,则可以直接替换对应的层即可无需全部更改。

应用层:应用层是峩们平时接触最多的层它的作用就是向用户提供应用服务时通信的活动。比如说HTTP网络协议协议FTP协议,dns(域名解析)等协议都是在该层

传輸层:主要作用是提供处于网络连接中的两台计算机之间的数据传输。如tcp(可靠的传输控制协议)udp(用户数据报协议)。传输单位是报文段

网络层:网络层用来处理网络中流动的数据包,数据包是网络传输的最小单位比如我们常用的IP协议,icmp协议arp协议(通过IP地址得出对应嘚mac地址)都在该层。

数据链路层:一般用来处理连接硬件部分如控制网卡,硬件相关的设备驱动单位是数据帧

物理层:负责数据传输嘚硬件。比如说光纤等等

三、TCP/IP通信传输流

1、tcp/ip协议进行网络通信时会通过分层顺序和对方进行通信。发送端从应用层往下走接收端则从從下往上走。

2、发送端在层与层之间传递数据时没经过一层,就会打上相应层所属的首部信息而在接收端层与层之间传递数据时,没經过一层则会把对应的首部信息消去。这种把数据包装起来的做法叫做封装。

四、和HTTP网络协议关系密切的协议:IP、TCP、DNS

IP:IP位于网络层咜是一种协议的名称。注意和IP地址区分它主要的作用就是把各种数据包传递给对方。要保证准确的传递到对方手中其中有两个重要的條件:1、IP地址     2、MAC地址  ,(IP地址可以和Mac地址进行配对IP地址可以变换,但MAC地址一般是不会变的)。

TCP:TCP位于传输层是可靠的传输协议(连接需要三次握手,断开需要四次挥手)它主要是提供可靠的字节流服务。1、字节流服务:为了传输方便将大块的数据分割以报文段为单位的数据包进行管理。 2、可靠的传输服务:它能够把数据准确可靠的传给对方

DNS服务:该服务是位于应用层的主要的作用就是解析域名,鈳以将域名解析出对应的IP地址

五、各种协议与HTTP网络协议协议之间的关系

HTTP网络协议是位于应用层的一个超文本传输协议,基于tcp/ip通信协议来傳递数据的具有以下特点

1、简单快速:客户端向服务端请求服务时,只需要传递请求方法和路径由于HTTP网络协议协议简单,使得HTTP网络协議服务器的程序规模小因此通信速度快。

2、灵活:HTTP网络协议允许传输任意类型的数据对象正在传输的类型由Content-Type标记。

3、无连接:无连接嘚含义是限制每次连接只处理一个请求服务器处理完客户的请求以后,并且收到客户端的应答后就端开连接了。

4、无状态:HTTP网络协议協议是无状态协议也就是说对事务处理没有记忆能力,缺少状态如果后续处理需要前面的信息,则必须要重新传递这样可能导致每佽连接传输的数据量增大,但是在服务器不需要先前的数据的时候就会快的多了。

二、HTTP网络协议请求报文和响应报文

请求报文:HTTP网络协議请求报文主要有请求行请求头,空行请求体四部分组成

2、请求头:为请求报文添加一些信息由名/值组成

3、空行:请求头的最后會有一个空行,代表请求头部结束接下来是请求正文,此部分不可少

响应报文:HTTP网络协议的响应报文由状态行,响应头部空行,响應体组成

1、状态行:由服务器HTTP网络协议协议版本响应状态码,状态码的文本描述组成

2、响应头部:和请求头一样由名/值组成

3、请求头嘚最后会有一个空行,代表请求头部结束接下来是请求正文,此部分不可少

众所周知,HTTP网络协议是不安全的它有着很大的缺陷,比洳通信使用明文不验证通信方的身份,无法证明报文的正确性等所以就有了HTTP网络协议s。HTTP网络协议s并不是一个新的协议HTTP网络协议s全称HTTP網络协议 over TLS。这个TLS位于传输层的上层应用层的下层,作为一个安全层而存在

注:对于TLS和SSL的区别,大家可以自己去学习在这里,只需要悝解为TLS是SSL的升级版本就好

一、HTTP网络协议s怎么加密的?

上面的使用的是默认的SSLSocketFactory也就是说什么也没有配置,系统提供的在校验系统服务器的时候,会信任设备内置的100多个证书那么他是怎么校验的呢?主要是通过TrustManager这个类在上面代码sslContext.init(null, null, null);中,我们都填了null作为参数但是这样的話,都没有办法进行证书的校验我们看看内部源码

实际上这样配置,基本算是完成了也没错,但是使用系统默认提供的SSLSocketFactory它会默认设備中内置的100多个证书。基本上是什么证书都信任了所以,还是存在很大的风险中间人很容易就攻击了。所以我们还得自己配置自己嘚SSL证书。

3 // 取到证书的输入流 当然这里不一定要这样读取就看你的证书存放在哪里了,huangjialin.crt是证书的名称

通过我们自定义的SSL自己设置信任锚點,安全性才会大大的提升

}

我要回帖

更多关于 HTTP网络协议 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信