由于CSDN错误保存导致文章内容大部分不存在了
目录
TCP/IP协议
为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议簇(Internet Protocol Suite)就是通用协议标准。
因为互联网协议包含了上百种协议标准,但是最重要的两个协议是TCP和IP协议,所以,大家把互联网的协议简称TCP/IP协议
通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上运作的。而 HTTP 属于它内部的一个子集
传输层(TCP 协议)把从应用层处收到的数据(HTTP 请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。
在网络层(IP 协议),增加作为通信目的地的 MAC 地址后转发给链路层。这样一来,发往网络的通信请求就准备齐全了。
接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收到由客户端发送过来的 HTTP请求。
TCP 三次握手、四次挥手
原本以为是动作上只有客户端请求 后台服务器回答并响应请求这两个动作
三次握手(客请 后回和请 客回) 四次挥手( 客请 后回 后请 客回 )
三次握手: 客户端请求连接 后台回答并请求建立连接 客户端回答可以建立连接 (你吃饭了吗? 我吃饭了,你呢? 我也吃了)
四次挥手: 客户端请求断开连接 后台回答可以断开 后台请求断开连接 客户端回答可以断开连接
网络攻击
端口
端口就好一个房子的门,是出入这间房子的必经之路。
ip地址
用来在网络中标记一台电脑的一串数字,比如192.168.1.1;在本地局域网上是惟一的。
分为公网与私网 公网地址是指在因特网上直接可达的地址,如果你有一个公网地址,那就意味着你不但能访问别人,还能被人访问。( 你百度搜索输入“公网ip地址” 可以看到你当前电脑的公网IP)
私网IP(局域网),不在公网中使用的,它们的范围是:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255 (局域网这个用的比较多)
127.0.0.1可以代表本机IP地址
DNS 服务
DNS(Domain Name System)服务是和 HTTP 协议一样位于应用层的协议。它提供域名到 IP 地址之间的解析服务。
缘由: 用户通常使用主机名或域名来访问对方的计算机,而不是直接通过 IP地址访问。因为与 IP 地址的一组纯数字相比,用字母配合数字的表
示形式来指定计算机名更符合人类的记忆习惯。但要让计算机去理解名称,相对而言就变得困难了。因为计算机更擅长处理一长串数字。
DNS 协议提供通过域名查找 IP 地址,或逆向从 IP 地址反查域名的服务。
IP 协议、TCP 协议和 DNS 服务在使用HTTP 协议的通信过程中各自发挥了哪些作用
一、Http协议入门
Hyper Text Transfer Protocol(超文本传输协议)
1.1 什么是http协议
- 用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
- 基于TCP/IP通信协议来传递数据
- 对浏览器客户端 和 服务器端 之间数据传输的格式规范
不管什么语言,传输的都是二进制流
HTTP请求
跟踪了新浪的首页,我们来总结一下HTTP请求的流程:
3.1.1 步骤1:浏览器首先向服务器发送HTTP请求,请求包括:
方法:GET还是POST,GET仅请求资源,POST会附带用户数据;
路径:/full/url/path;
域名:由Host头指定:Host: www.sina.com
以及其他相关的Header;
如果是POST,那么请求还包括一个Body,包含用户数据
3.1.1 步骤2:服务器向浏览器返回HTTP响应,响应包括:
响应代码:200表示成功,3xx表示重定向,4xx表示客户端发送的请求有错误,5xx表示服务器端处理时发生了错误;
响应类型:由Content-Type指定;
以及其他相关的Header;
通常服务器的HTTP响应会携带内容,也就是有一个Body,包含响应的内容,网页的HTML源码就在Body中。
3.1.1 步骤3:如果浏览器还需要继续向服务器请求其他资源,比如图片,就再次发出HTTP请求,重复步骤1、2。
Web采用的HTTP协议采用了非常简单的请求-响应模式,从而大大简化了开发。当我们编写一个页面时,我们只需要在HTTP请求中把HTML发送出去,不需要考虑如何附带图片、视频等,浏览器如果需要请求图片和视频,它会发送另一个HTTP请求,因此,一个HTTP请求只处理一个资源(此时就可以理解为TCP协议中的短连接,每个链接只获取一个资源,如需要多个就需要建立多个链接)
HTTP协议同时具备极强的扩展性,虽然浏览器请求的是http://www.sina.com
的首页,但是新浪在HTML中可以链入其他服务器的资源,比如<img src="http://i1.sinaimg.cn/home/2013/1008/U8455P30DT20131008135420.png">
,从而将请求压力分散到各个服务器上,并且,一个站点可以链接到其他站点,无数个站点互相链接起来,就形成了World Wide Web,简称WWW。