HTTP初解

写在前面:新手刚接触http,有很多东西记不住只得用这种方式帮助记忆。

1 HTTP介绍

  • HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。
  • 2 HTTP 工作原理
    HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
    Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。
    Web服务器根据接收到的请求后,向客户端发送响应信息。
    HTTP默认端口号为80,但是你也可以改为8080或者其他端口。


    交互模式

3 HTTP 请求的格式

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:

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

1234567890

示例2:

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"

4 HTTP响应的格式

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

示例1:

HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: Keep-Alive
Content-Length: 2443
Content-Type: text/html
Date: Tue, 10 Oct 2017 09:14:05 GMT
Etag: "5886041d-98b"
Last-Modified: Mon, 23 Jan 2017 13:24:45 GMT
Pragma: no-cache
Server: bfe/1.0.8.18
Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/

<!DOCTYPE html>
<html> <head> 后面太长,省略了……

示例2:

HTTP/1.1 302 Found
Connection: Keep-Alive
Content-Length: 17931
Content-Type: text/html
Date: Tue, 10 Oct 2017 09:19:47 GMT
Etag: "54d9749e-460b"
Server: bfe/1.0.8.18

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"> 后面太长,省略了……

5、通过Chrome浏览器来查看 请求、响应内容

  • 1查看请求内容
    先打开Chrome浏览器,按下F12打开开发者工具,单后点击选择network


    图片

    然后输入网址,回车后就会显示如下画面,单击网址那一栏
    微信图片1.png
    微信截图_2.png

    我们先从看请求,
    微信截图_3.png

    微信截图_4.png

接着是响应


微信截图_5.png

微信截图_6.png

6、如何使用 curl 命令

curl是基于URL语法在命令行方式下工作的文件传输工具,它支持FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE及LDAP等协议。curl支持HTTPS认证,并且支持HTTP的POST,PUT等方法,FTP上传,kerberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证,通过http代理服务器上传文件到FTP服务器等等,功能十分强大。

协议类型:[//服务器地址[:端口号]][/资源层级UNIX文件路径]文件名[?查询][#片段ID]
具体请看http://www.ruanyifeng.com/blog/2011/09/curl.html
因为我也还没搞明白:(

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 8,468评论 6 152
  • Http协议详解 标签(空格分隔): Linux 声明:本片文章非原创,内容来源于博客园作者MIN飞翔的HTTP协...
    Sivin阅读 5,254评论 3 82
  • 仰望那些看似离我们很近,但实际上却并非唾手可得东西。寻找那些可望而不可即的东西,如镜中花,水中月。 仰望那些够不着...
    风情公子阅读 383评论 0 0
  • 郭芳艳 焦点网络五期 焦作 坚持原创分享第44天 今天在外边手机没电了,实在回不来,回来赶紧发,一看表已...
    冰山蓝鹰阅读 111评论 0 0