HTTP入门笔记

HTTP Protocol 1.1

例子

  1. 客户端调用接口 ( Client Server )
  2. 输入URL后,浏览器到底作了些什么
  3. ajax
  4. 浏览器缓存.....
    都与http协议有关。

http协议的基本组成。

  1. http是基于tcp协议的(特征是:一、有三次握手即有链接过程 二、无状态 三、...)

http协议内容有两部分
一、 HTTP Header
二、 HTTP Body
千万要注意,不要和HTML搞混了。ajax

Header除了第一行以外,就是一些Key-Value的属性设置
Key: Value浏览器

Body你均可以看作是二进制数据。只是根据Content-Type的不一样作不一样处理。缓存

HTTP请求流程服务器

Request(请求) -> 服务器
Response(响应) <- 服务器tcp

图1.
HTTP头
HTTP METHOD:
1. GET
2. POST
3. PUT 常见于RESTful
4. DELETE 常见于RESTful
5. HEAD
6. OPTION编码

Requesturl

基于URL的请求特征 (经常使用于GET)

会把queryString(也被称做http parameter) ?key1=value1&key2=value2&key3=value3 接到url后面
优点:
简单。spa

劣势:
一、url长度有限(256个字符)
二、保密性极差(明文)code

基于HttpBody的请求特征 (经常使用于POST)

会把queryString写到httpBody里面
图2.
POST请求orm

看见HTTP头和HTTP Body当中有一个空白行分割
全部的数据写在http body中。
优点:
1. 保密性好。
2. 能够传较多数据。(只要指定Content-Length属性)

劣势:
麻烦

Response
HTTP头: 状态码(404 500 200 304) body长度(Content-Length) 缓存控制(给浏览器用) 数据编码 请求的数据 等等。
关于数据的属性,都在Http Header里(是否GZIP压缩,文本编码之类的)。
数据自己就在HttpBody里。

特殊的状况:
Request你也能够往body里面传文件(并且能够是多个文件)。
一、multipart/form-data (Content-Type)
二、boundary的概念
HTTP上传文件

相关文章
相关标签/搜索