http协议

作者: Beauty_Beast | 来源:发表于2018-11-18 22:32 被阅读10次

http协议要细分的话可以写成几本书,本文只简单了解1.什么是http协议?2.分析一次http协议的应用过程;

1.什么是http协议?分层次理解http协议的概念

字面理解就是一种规范,一种规则,是万维网服务器传输超文本协议到本地浏览器客户端的一种规范 ,是二者约定的一种规则;http协议:HyperText  Transfer  Protocol超文本传输协议;其中涉及到的概念包括URL,请求消息,响应消息;

(1)URL : UniformResourceLocator, 中文叫统一资源定位符,是互联网上用来标识某一处资源的地址

例如:https://www.jianshu.com/writer

(2)请求消息 :请求消息包括请求行,请求头,请求体

(2.1)请求行包括:请求方式: GET或POST ;网页路径url: 不含域名部分的网页地址,比如:/abc/page1.php?s1=1&s2=xyz;协议版本号: http/1.1

请求行部分

(2.1.1)请求状态大概内容:

状态码大概有以下几种规格:

1xx:提示信息,表示请求已接受,继续处理

2xx:成功,表示请求已经成功接受    200:客户端请求成功

3xx:重定向  304:重定向

4xx:客户端错误  :400:bad request,请求有语法错误

5xx:服务器端错误 :500 服务器端错误

(2.1.2)请求方法

GET: 请求指定的页面信息,并返回实体主体。

HEAD :类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头

POST :向指定资源提交数据进行处理请求(例如提交表单或者上传文件)

PUT :从客户端向服务器传送的数据取代指定的文档的内容。

DELETE :请求服务器删除指定的页面

CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器

OPTIONS: 允许客户端查看服务器的性能。

TRACE:回显服务器收到的请求,主要用于测试或诊断。

(2.2)请求头:大概字段意思

请求头部分

如图大概这些字段的意思:

Host:所请求的主机名:www.jianshu.com

Accept:浏览器可以接受的内容类型 text/html application/json等

Accept-encoding:浏览器可以接受的内容压缩方式

Keep-Alive:tcp链接的保持时间

User-Agent:请求的代理端信息 :firefox ,ie

Connection:链接类型

等等记那么太多也没意思

(2.3)请求体:请求时发送的数据,服务器需要接受的数据

请求体:请求时发送的数据,服务器需要接受的数据

(3)响应消息:响应消息和请求消息大概类似:由状态行,消息头,空行(在浏览器上未能体现出来),响应正文;

(3.1)响应头:如下

响应头

其中,Content-Type:指定了MIME类型的HTML(text/html),编码类型;

(3.2)响应正文:

响应正文

2.分析一次http协议的应用过程;

在浏览器键入url例如:http://www.jianshu.com/writer 按下回车,发生以下流程:

(1)浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;(URL)

(2)解析出 IP 地址后,根据该 IP 地址和默认端口 ,和服务器建立TCP连接;

(3)浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;(请求消息)

(4)服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;(响应消息)

(5)释放TCP连接

(6)浏览器渲染界面,显示响应内容

本文参考博客:http://www.cnblogs.com/ranyonsue/p/5984001.html

相关文章

网友评论

    本文标题:http协议

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