美文网首页
HTTP 入门

HTTP 入门

作者: 封燐 | 来源:发表于2018-08-07 02:03 被阅读0次

WWW 的历史

互联网的雏形 ARPANET 诞生于于20世纪60年代的美国,1969年 ARPANET正式投入运行。
1990年以前,没有网页,也没有浏览器,人们对互联网的使用主要在于 Email 和 NewsGroup。
Tim Berners-Lee 在1989-1992年间发明了 WWW(World Wide Web)。
主要包含三个概念:

  1. URI,统一资源标识符,俗称网址
  2. HTTP,超文本传输协议,两个电脑之间传输内容的协议
  3. HTML,超文本标记语言,主要用来做页面跳转

URL 的作用是能让你访问一个页面,HTTP 的作用是让你下载这个页面,HTML 的作用是让你能看懂这个页面。
这是一个简单而完美的系统。
他还付诸实践:

  1. 发明了第一个服务器
  2. 发明了第一个浏览器
  3. 写了第一个网页 info.cern.ch

2017年,Tim Berners-Lee获得了图灵奖。

URI

统一资源标识符(Uniform Resource Identifier)
URI 分为 URL 和 URN,我们一般用 URL 作为网址。

URN

统一资源名称(Uniform Resource Name),可以确定唯一的资源,但是不能给出位置。

URL

统一资源定位符(Uniform Resource Locator),可以确定唯一的地址(网址)。


URL的常见组成

上图中未包含“端口”。

DNS

域名系统(Domain Name System),可以得到域名对应的IP。
域名→DNS→IP
nslookup baidu.com
ping baidu.com

HTTP

超文本传输协议(HyperText Transfer Protocol),作用是指导客户端和服务器如何进行沟通。
Server 服务器(某台电脑里运行的软件)
Client 客户端(某台电脑里的浏览器)


服务器与浏览器的交互

每一台电脑有很多端口,每一个端口只做一件事。

端口 用途
21端口 FTP服务
443端口 HTTPS服务
1080端口 代理服务器
3306端口 MySQL服务器
80端口 HTTP服务
  1. 浏览器负责发起请求
  2. 服务器在80端口接收请求
  3. 服务器负责返回内容(响应)
  4. 浏览器负责下载响应内容

请求

请求示例

curl -s -v -H "Frank: xxx" -- "https://www.baidu.com"
请求的内容为

GET / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Frank: xxx

curl -X POST -s -v -H "Frank: xxx" -- "https://www.baidu.com"
请求的内容为

POST / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Frank: xxx

curl -X POST -d "1234567890" -s -v -H "Frank: xxx" -- "https://www.baidu.com"
请求的内容为

POST / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Frank: xxx
Content-Length: 10
Content-Type: application/x-www-form-urlencoded

1234567890

请求的格式

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. 第三个部分永远是一个回车(\n
  3. 动词有
    GET:获取
    POST:新增或者上传(file协议不支持POST)
    PUT:【整体】更新
    PATCH:【局部】更新
    DELETE:删除
    HEAD
    OPTIONS
  4. 这里的路径包括查询参数,但不包括锚点
  5. 如果没有写路径,那么默认路径为 /
  6. 第二部分中的 Content-Type 标注了第四部分的格式

用 Chrome 发请求

  1. 打开 Network
  2. 地址栏输入网址
  3. 在 Network 点击,查看 Request Headers,点击 view source,可以看到请求的前三部分了
  4. 如果有请求的第四部分,在 Form Data 或 Payload 里面可以看到(记得登陆前要勾选 Preserve log)

响应

响应的格式

1 协议/版本号 状态码 状态解释
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下载的内容
  1. 状态码要背,是服务器对浏览器说的话
  • 1xx 不常用
  • 2xx 表示成功
  • 3xx 表示滚吧
    a. 301 表示网页永久转移到其他地方了
    b. 302 表示网页临时转移了
    c. 304 表示这次的和上次的是一样的
  • 4xx 表示你(浏览器)错了
  • 5xx 表示我(服务器)错了
  1. 状态解释没什么用
  2. 第二部分的 Content-Type 标注了第四部分的格式
  3. 第二部分的 Content-Type 遵循 MIME 规范

用 Chrome 查看响应

  1. 打开 Network
  2. 输入网址
  3. 选中第一个响应
  4. 查看 Response Hesader,点击 view source,你会看到响应的前两部分
  5. 查看 Response 或者 Preview,你会看到响应的第四部分

相关文章

  • 入门:HTTP入门

    问题 1.HTTP 请求包括哪些部分2.HTTP 响应包括哪些部分3.如何用Chrome开发者工具查看 HTT...

  • 爬虫入门系列(六):正则表达式完全指南(下)

    爬虫入门系列目录: 爬虫入门系列(一):快速理解HTTP协议 爬虫入门系列(二):优雅的HTTP库requests...

  • HTTP入门

    HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准。通过使用网页浏览器、网络爬虫或者其它的工具,客...

  • http入门

    http 简介 http 历史 1989, 蒂姆。伯纳斯-李在CERN发起 1999年6月,IETF(互联网工程小...

  • http入门

    一、URI 是什么 全程:统一资源标识符,俗称网址 URI 分为 URL 和 URN URN Google URN...

  • HTTP入门

    基本概念 三个基本概念 URI:统一资源资源标志符(Uniform Resource Identifier) HT...

  • HTTP入门

    博主最近在复习HTTP,之前用书主要是《计算机网络》谢希仁版本和上野宣的《图解HTTP》,最近结合网上博客,进行复...

  • http入门

    一,http请求包括: 1 动词 路径 协议/版本 2 Key1: value1 2 Key2: value2 2...

  • HTTP入门

    浏览器负责发起请求 服务器在80端口接收请求 服务器负责返回内容(响应) 浏览器负责下载响应内容HTTP的作用就是...

  • http入门

    图中: 浏览器负责发起“请求”。 服务器在80端口接受“请求”。 服务器负责返回内容(响应)。 浏览器负责下载响应...

网友评论

      本文标题:HTTP 入门

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