初识HTTP

初识HTTP

HTTP全称“超文本传输协议”

超文本传输协议是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。 设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符来标识。

通俗地讲,http就是互联网中网页间联系的纽带,是我们人为规定的协议,就像我们人类说的语言一样,不同国家的人(制订协议)规定自己国家的语言。在互联网中

请求

接下来学习中,将使用linux提供的cURL来模拟用户发送请求到服务器。

cURL是一个利用URL语法在命令行下工作的文件传输工具。它支持文件上传和下载。

curl -v -s https://www.baidu.com

通过curl的 -verbose可以输出这个请求的详细信息,再用-slient屏蔽一些多余的信息。

    > GET / HTTP/1.1            
    > Host: www.baidu.com
    > User-Agent: curl/7.55.1
    > Accept: */*
    >

上面5行就是一个完整的请求header。

第一行:请求方式 请求路径 协议版本

第二行:域名

第三行:请求源

第四行:表示接受所有的返回

第五行:表示键值对分界线

我们还可以通过curl的各种参数构造不一样的请求。

请求的格式


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 要上传的数据


  • 在标准的请求头中,至少要有三部分组成(1,2,3)最多不能超过四部分
  • 动词有 GET POST PUT PATCH DELETE HEAD OPTIONS 等
  • 路径(默认为\)包括查询串不包括锚点

通过chrome获取请求


以B站为例,右键点击审查,通过network栏就可以看到所有的请求



单击任何一项,就可以查看完整标准的http请求了。

通过chrome获取响应

同理,只需要点开Response Headers就可以查看响应



响应的格式与请求的类似


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


你可能感兴趣的:(初识HTTP)