HTTP基础

2019-04-25  本文已影响0人  明明你也一样

HTTP简介

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

总的来说,http协议是超文本传输协议,它规定客户端如何请求,以及服务器如何响应。

HTTP 请求Request

打开Chrome浏览器开发人员工具->搜索百度->Network->Request Headers,请求头Request Headers最少包含3部分,最多包含4部分。

请求的格式

1 动词 路径 协议/版本
2 Key1: value1
2 Key2: value2
2 Key3: value3
2 Content-Type: application/x-www-form-urlencoded
2 Host: www.baidu.com
2 User-Agent: curl/7.54.0
3 
4 要上传的数据 

请求的示例

百度请求头

HTTP 响应Response

打开Chrome浏览器开发人员工具->搜索百度->Network->Response Headers,响应头Response Headers最少包含3部分,最多包含4部分。

响应的格式

1 协议/版本号 状态码 状态解释
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下载的内容

响应的示例

百度响应头

curl命令的使用

curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。它支持多种协议,下面举例讲解如何将它用于网站开发。

1.查看网页源码

直接在curl命令后加上网址,就可以看到网页源码。我们以网址www.sina.com为例(主要是sina的网页代码较少)
$ curl www.sina.com

命令行输出

2.显示头信息

-i参数可以显示http response的头信息,连同网页代码一起。
$ curl -i www.sina.com

命令行输出

2.显示通信过程

-v参数可以显示一次http通信的整个过程,包括端口连接和http request头信息。
$ curl -v www.sina.com

命令行输出

这里只简单列举几种curl命令的用法,想了解更多请参考文档

上一篇 下一篇

猜你喜欢

热点阅读