请求和响应

2018-08-24  本文已影响0人  xiaoxinwan

Server(服务端)、Client(客户端)

浏览器发出请求,服务器在80端口接收请求;服务器返回内容(响应),浏览器下载相应内容

端口21:ftp

端口443:https

端口1080:代理服务器

端口3306:MySQL

端口80:http

HTTP:指导浏览器和服务器如何进行沟通

请求

命令curl

crul[参数 URL]
参数有
GET:获取内容

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

HTTP/1.1 —>协议
主机 —> 域名
* / * —> 接收任何东西

POST:上传内容

POST / HTTP/1.1
Host: www.bidu.com
User-Agent: curl/7.54.0

请求的格式


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 PUT PATCH DELETE HEAD OPTIONS等
  4. 这里的路径包括【查询参数】,但不包括【锚点】
  5. 没有写路径,路径默认为/
  6. 第二部分中的Content-Type标注了第四部分的格式

响应

示例

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>

GET和POST请求对应的响应可以是一样的,也可以不一样

响应的格式

1 协议/版本号 状态码 状态解释

2 Key1: value1

2 Key2: value2

2 Content-Length: 17931

2 Content-Type: text/html

3

4 要下载的内容

状态码:

常用的13个状态码

  1. 状态码200 表示请求已成功
  2. 状态码204 表示服务器成功处理了请求,没有返回任何内容
  3. 状态码206 表示已经处理了部分GET请求
  4. 状态码301 表示永久重定向,请求的资源已经永久搬到了其他位置
  5. 状态码302 表示临时重定向,请求的资源临时搬到了其他位置
  6. 状态码303 表示请求资源存在另一个URI,应使用GET定向获取请求资源
  7. 状态码304 表示客户端发送附带条件的请求时,条件不满足
  8. 状态码400 表示请求报文存在语法错误或参数错误,服务器不理解
  9. 状态码401 表示发送的请求需要有HTTP认证信息或是认证失败了
  10. 状态码403 表示对请求资源的访问被服务器拒绝了
  11. 状态码404 表示服务器找不到请求的资源
  12. 状态码500 表示服务器执行请求时出错了
  13. 状态码503 表示服务器超负载或正停机维护,无法处理请求
上一篇 下一篇

猜你喜欢

热点阅读