大白话网络协议HTTP

作者: whuisu | 来源:发表于2017-04-21 13:14 被阅读285次

目前,讲解网络协议的书实在太少,在我印象中仅有两本,一本是《HTTP权威指南》,另一本是《TCP/IP详解》,但是厚度令人生畏,内容艰涩难懂。
HTTP协议本身并不复杂,但是纯概念式的学习稍显单调,所以这里用通俗易懂的语言讲述一下。

网络基础TCP/IP
为了理解HTTP,我们要先了解一下TCP/IP协议族。
通常网络是在TCP/IP协议族的基础上运作的,HTTP属于它内部的一个子集。

TCP/IP协议族最重要的一点就是分层,按层次分为4层:应用层,传输层,网络层和数据链路层。

TCP/IP协议族
与HTTP关系密切的协议:IP TCP DNS
1 网络层:负责传输的IP网际协议
2 传输层:提供可靠字节流服务的TCP协议
3 应用层:负责域名解析的DNS服务

1 网络层:负责传输的IP网际协议
IP网际协议的作用是把各种数据包传递给对方,保证确实传送到对方那里有两个重要条件:
1⃣️IP地址,可变换,指明节点被分配到的地址
2⃣️MAC地址,基本不变,指网卡所属的固定地址

2 传输层:提供可靠字节流服务的TCP协议
字节流服务是说,为了方便传输,把大块数据分割成以报文段为单位的数据包进行管理。
一言以蔽之,TCP协议为了更容易传送大数据,就把数据分割,而且TCP协议采用三次握手策略确认数据最终是否送达到对方。

3 应用层:负责域名解析的DNS服务
因为计算机擅长处理一长串数字,而人类的记忆习惯更适合有意义表达的字母,为了解决这个问题,DNS提供域名到IP地址之间的解析服务。

各种协议和HTTP协议的关系

简单的HTTP协议

客户端发送请求:
GET /index.htm HTTP/1.1
Host:hackr.jp
这段请求内容意思是:请求访问某台HTTP服务器上的/index.htm页面资源 

GET表示请求访问服务器的类型,称为方法
字符串 /index.htm指明请求访问的资源对象,也叫请求URI
HTTP/1.1是版本号

服务器发送响应:
HTTP/1.1 200 OK
Date:Tue,10 Jul 2017 06:60:15 GMT
Content-Length:text/html
<html>
...
返回结果的HTTP状态码
2XX:成功
3XX:重定向
4XX:客户端错误
5XX:服务器错误

HTTP状态码有60余种,但实际上经常使用的大概只有14种,下面来简单了解一下:
2XX:成功
200 OK 从客户端发来的请求在服务器端被正常处理了
204 No Content 请求成功处理,但返回的响应报文不含实体的主体部分
206 Partial Content 范围请求


3XX:重定向
301 Moved Permanently 永久性重定向,表示请求的资源已经被分配了新的URI
302 Found 临时性重定向
303 See Other 表示请求对应的资源存在着另一个URI,应使用GET方法定向获取请求的资源
304 Not Modified 服务器端资源未改变
307 Temporary Redirect 临时重定向,和302含义相同


4XX:客户端错误
400 Bad Request 请求报文中存在语法错误
401 Unauthorized 需要有认证信息
403 Forbidden 服务器拒绝访问
404 Not Found 服务器上没有请求的资源


5XX:服务器错误
500 Internal Server Error 服务器端内部资源出故障
503 Service Unavailable 服务器超负载或停机维护中

相关文章

  • 大白话网络协议HTTP

    目前,讲解网络协议的书实在太少,在我印象中仅有两本,一本是《HTTP权威指南》,另一本是《TCP/IP详解》,但是...

  • Http网络协议包

    1.网络协议包: 2.常见网络协议: 3.Http网络协议包: 4.Http请求协议包与Http响应协议包介绍: ...

  • 网络协议 HTTP协议

    HTTP:超文本传输协议,从万维网服务器传输到本地浏览器 在www.abc.com/123.jpg中, 传输的不一...

  • http协议网络

    1)说一下HTTP协议头字段说上来几个,是否尽可能详细的掌握HTTP协议。一次完整的HTTP事务时怎么样的一个过程...

  • HTTP网络协议

    参考:《透视 HTTP 协议》— 罗剑锋 一、相关概念 【TCP/IP协议】:是目前网络世界“事实上”的标准通信协...

  • 网络协议-HTTP

    HTTP-请求方法(8种) GET 、HEAD 、POST 、PUT 、DELETE 、CONNECT 、OPTI...

  • JavaWeb基础恢复之网络、

    网络 HTTP协议

  • 2020-手绘172张图解HTTP协议+703页TCP/IP协议

    HTTP协议 第1章了解Web及网络基础 1.1 使用HTTP协议访问Web 1.2 HTTP的诞生 1.3 网络...

  • Android 网络框架_网络框架的核心Http协议

    要写一个优秀的网络框架,当然少不了对 Http 协议的了解,因为Http协议是网络请求的核心。 一、Http协议的...

  • 网络协议之Http协议

    1. 什么是HTTP协议? 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协...

网友评论

    本文标题:大白话网络协议HTTP

    本文链接:https://www.haomeiwen.com/subject/olxdzttx.html