http请求与响应

浏览器和服务器之间的“交流沟通”
什么是请求/响应
1.浏览器与服务器的“交流”
浏览器负责发送请求,服务器在80端口接收请求(80端口服务http)
服务器负责返回响应内容,浏览器负责下载响应内容。
其中,http的作用是知道浏览器和服务器进行沟通。
浏览器=======>发请求======>服务器
浏览器<====返回响应内容=====服务器
2.http请求部分
1. 格式 1 动词路径协议/版本 2 key1: value 2 key2: value 2 Content-Type:text/html; charset=utf-8 2 Host:www.baidu.com 2 Accept: text/html 3 4 要上传的数据(get第4部分为空,post存在第4部分)

1.请求最多包含4部分,最少3部分。
2.第3部分永远是回车
3.动词为请求方式
GET获取
POST上传
PUT 整体更新
DELETE 删除
PATCH 局部更新
4.路径包括查询参数但是不包含锚点。如果没有写路径,默认为/
5.Content-Type 标注了第4部分的格式
get请求例子
1 GET /W?E=2 HTTP/1.1 2 Host: www.baidu.com 2 User-Agent: curl/7.54.0 2 Accept: */* 2 key: value 3

post 请求
1 POST/path HTTP/1.1 2 Host: baidu.com 2 Accept: application/json 2 Content-Type:application/x-www-form-urlencoded 2 Conten-Length: 1000 3 4 username=uuu&age=34

post vs get
1.安全性方面
post方式提交的数据不会显示在URL中,安全性高
get方式提交的表单所有的信息都会在URL中看到,安全性不高
2.应用方面
post一般多用于向服务器传输数据。
get一般多用于向服务器查询、获取数据。
3.方式方面
post不管提交的内容有何变化,提交的URL不会发生变化,数据会发送到服务器。
get所有提交的数据都由k=value形式组成URL发送给服务器。
4 数据量方面
post理论上这个传输的数据量不受限制
而get数据越多时会受限。
  1. http响应部分
格式 1 协议/版本号 状态码 状态解释 2 key1: value 2 key2: value 2 Content-Type: text/html 2 Content-Length: 1234 3 4 响应内容(浏览器下载的内容)

【http请求与响应】例子
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

    推荐阅读