iOS HTTP原理-请求&响应~笔记

时间:2021-04-21 21:02:43

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄


# RESTful设计风格

========================================================


目的:使用相同的URL,用不同的 HTTTP访问方法,达到不同的效果


GET http://www.abc.com/product/123从服务器获取代码是123的商品

POST http://www.abc.com/product/123将代码是123的商品提交给服务器(新增)

PUT http://www.abc.com/product/123修改代码是123的商品信息(改)

DELETE http://www.abc.com/product/123删除代码是123的商品信息(删除)


目前 RESTful设计风格在网络开发中非常普遍


# 请求

========================================================

http://localhost/login.php


1. 请求行

GET(HTTP方法) /login.html(资源路径) HTTP/1.1(协议)


2. 请求头

Host(主机信息): localhost

User-Agent(浏览器的类型): Mozilla/5.0 (Macintosh; Intel Mac OS X10.9; rv:33.0) Gecko/20100101 Firefox/33.0

Accept(接受的数据类型): text/html,application/xhtml+xml,application/xml;q=0.9,*/ *;q=0.8

Accept-Language(语言): en-US,en;q=0.5

Accept-Encoding(压缩格式): gzip, deflate

Cache-Control(缓存控制): max-age=0


# Content-Length(内容长度):32个字节,告诉服务器发送的数据长度

### Content-Type(内容类型):告诉服务器发送数据的类型是什么 application/x-www-form-urlencoded


3.请求体


### 发送给服务器的二进制数据体


响应-通常只有在做下载才需要关心

========================================================


### 1. 状态行

HTTP/1.1 200 OK

2xx成功

4xx客户端错误

5xx服务器错误


2. 响应头

Date(访问时间): Sun,07 Dec 201406:37:21 GMT

Server(服务器类型): Apache/2.2.26 (Unix) DAV/2 PHP/5.4.30 mod_ssl/2.2.26 OpenSSL/0.9.8za

X-Powered-By: PHP/5.4.30

### Content-Length(内容长度):26

### Content-Type(内容类型): application/json;charset=utf-8


3. 实体数据(绝大多数的网络开发,都是针对这一部分内容!)


### 一次网络请求返回的二进制数据