0
点赞
收藏
分享

微信扫一扫

【HTTP】HTTP基础知识一

草原小黄河 2022-04-14 阅读 84
http

​ 在客户端与服务器之间,是基于网络来通信的。HTTP协议是最常用的一种网络通信协议(超文本传输协议)。平时我们用到的抢票软件就是通过抓包工具来构造HTTP请求来完成的。所以我们现在就来了解HTTP的相关知识。

在这里插入图片描述


零、

主流HTTP的版本是1.1

一、HTTP协议的报文格式

  • 请求

在这里插入图片描述

  1. 首行:方法、URL、版本号
  2. 请求头、键值对结构:每个键值对占一行,键和值之间使用冒号空格分割
  3. 空行:相当于请求头的结束标志
  4. 正文:可选
  • 响应
    在这里插入图片描述
    1. 首行
    2. 响应头
    3. 空行:
    4. 正文:可选

请求

通过抓包工具来获取请求的具体内容

URL

  • 格式:
    在这里插入图片描述服务器地址:可以是一个IP地址,也可以是域名,但是IP地址不好记。
    端口号:通常被隐藏起来。(对于HTTPS的请求,浏览器会自动加上443端口,因为一般的HTTPS服务器都是用 443;对于HTTP的请求,浏览器会自动加上80端口,一般的HTTP服务器都是用80)

  • URL的部分内容是可以省略的:

    1. 省略域名:继续访问当前网站的其他资源

    2. 省略端口号:浏览器自动填充默认端口

    3. 省略带层次的路径:表示访问/目录

    4. 省略query string:本来就是可选的

      片段标识符:也可以省略

  • URL中的url encode
    在这里插入图片描述
    C%2B%2B:URL里面有一些表示特定含义的符号(或者中文符号),如果query string中也含有这些字符,就会产生错误,我们就需要对其进行url encode

方法

序号方法描述
1GET请求指定的页面信息,并返回实体主体。
2HEAD类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头
3POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
4PUT从客户端向服务器传送的数据取代指定的文档的内容。
5DELETE请求服务器删除指定的页面。
6CONNECTHTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。
7OPTIONS允许客户端查看服务器的性能。
8TRACE回显服务器收到的请求,主要用于测试或诊断。
9PATCH是对 PUT 方法的补充,用来对已知资源进行局部更新 。

GET方法

  1. 直接在浏览器地址栏里输入一个URL,输入回车;或者点击浏览器收藏夹里面的链接

  2. HTML中的一些标签

    img有个src属性,写一个URL,浏览器会根据img中的src构造出对应的HTTP GET请求。同理,还有a中的href属性

  3. 还能使用JS,直接在浏览器前端构造出HTTP GET请求(ajax)

  4. 各种编程语言(只要能访问网络),就能构造出HTTP GET请求

  5. GET请求里面有很多组header这样的键值对

  6. GET请求一般body是空的。

POST方法

登录所用到的。

GET和POST的区别

没有本质区别。

有一些细节区别:

  1. (习惯上)GET把客户端的数据通过query string来传输,POST把客户端的数据通过body来传输

  2. (习惯上)GET用于从服务器获取数据,POST是客户端给服务端提交数据。

  3. 要求把GET的请求的处理设置成“幂等”;POST请求的处理不要求实现成”幂等“

  4. GET请求可以被缓存(浏览器的收藏夹),POST不行
    在这里插入图片描述

请求报头 - header

表示在 HTTP 请求或响应中的用来传递附加信息的字段。

  • Host

如果是POST请求,就会带上下面两个header

  • Content-Length:body的长度

  • Content-Type:body的格式

  • User-Agent:保存有当前浏览器的类型/版本,以及操作系统的类型、版本

举报

相关推荐

0 条评论