目录
HTTP相关
1. HTTP状态码
1.1 常用状态码
- 200 - 请求成功
- 301 - 资源(网页等)被永久转移到其它URL
- 404 - 请求的资源(网页等)不存在
- 500 - 内部服务器错误
1.2 状态码分类
分类 | 分类描述 |
---|---|
1** | 信息,服务器收到请求,需要请求者继续执行操作 |
2** | 成功,操作被成功接收并处理 |
3** | 重定向,需要进一步的操作以完成请求 |
4** | 客户端错误,请求包含语法错误或无法完成请求 |
5** | 服务器错误,服务器在处理请求的过程中发生了错误 |
- 详情 点击
2. 交互的过程
浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
2.1 交互过程
交互过程
- TTP协议永远都是客户端发起请求,服务器回送响应
工作流程
- 首先客户机与服务器需要建立连接
- 只要单击某个超级链接,HTTP的工作开始
- 建立连接后,客户机发送一个请求给服务器
- 请求方式的格式为:
- 统一资源标识符(URL)
- 协议版本号
- 后边是MIME信息包括请求修饰符、客户机信息和可能的内容
- 请求方式的格式为:
- 服务器接到请求后,给予相应的响应信息
- 其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码
- 后边是MIME信息包括服务器信息、实体信息和可能的内容。
- 客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接
在TCP/IP协议栈中的位置
- HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS
- 默认HTTP的端口号为80,HTTPS的端口号为443
2.2 请求报文
现在的大部分浏览器已经把请求报文的显示处理了,其中打开火狐,打开一个了一个网页,在点击网络
,就会看到响相应的请求报文和响应报文
请求报文的格式
GET /hello.txt HTTP/1.1
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com
Accept-Language: en, mi
2.3.1 请求头字段
cookie
向服务器发送cookie
消息- 比较常用的有
Authorization
2.3 响应报文
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain
2.3.2 响应字段
响应头
Content-Type
set-Cookie
:服务器端向客户端发送的cookie信息
3. HTTP方法
- HTTP1.0 定义了三种请求方法:
GET
,POST
和HEAD
方法 - HTTP1.1 新增了六种请求方法:
OPTIONS
、PUT
、PATCH
、DELETE
、TRACE
和CONNECT
方法。
序号 | 方法 | 描述 |
---|---|---|
1 | GET | 请求指定的页面信息,并返回实体主体。 |
2 | HEAD | 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。 |
4 | PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
5 | DELETE | 请求服务器删除指定的页面。 |
6 | CONNECT | HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。 |
7 | OPTIONS | 允许客户端查看服务器的性能。 |
8 | TRACE | 回显服务器收到的请求,主要用于测试或诊断。 |
9 | PATCH | 是对 PUT 方法的补充,用来对已知资源进行局部更新 。 |
- 在一些开发中常用的请求
get
和post
多一些,如一般浏览器发送的都是get
请求
4. content-type
详情点击
属于实体首部字段
- 它分为两种类型
- 常见媒体类型
text/html
: HTML格式text/plain
:纯文本格式text/xml
: XML格式image/gif
:gif图片格式image/jpeg
:jpg图片格式image/png
:png图片格式
- application开头的媒体格式类型
application/x-www-form-urlencoded
: 中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)application/json
: JSON数据格式application/xhtml+xml
:XHTML格式
- 常见媒体类型