HTTP协议

HTTP协议

超文本传输协议(HTTP,HyperText Transfer Protocol)

最常见B/s架构中,使用,浏览器端与服务器端数据交互协议。

协议:约定好的一套语法规则。

 

规定:请求数据格式,与响应数据格式。

是应用层协议

 

 

请求协议

规范,浏览器向服务器发送数据格式

 

以上内容,就是浏览器在向服务器的http://shop.kang.com/index.php?p=back&c=Admin&a=login请求时,所发送的数据。

 

 

请求行:request_line

请求数据的第一行,用来说明当前请求的最基本信息。

由三块组成:

GET       /index.php?p=back&c=Admin&a=login HTTP/1.1 换行

方式资源地址(没有域名) 协议版本 \r\n(回车换行CRLF)

 

请求头:request_header

请求头信息,请求标头

浏览器需要传输给服务器的属性数据。

# 主机,请求的主机。用于标识一台web服务器上的其中一个虚拟主机的。

Host: shop.kang.com

# 用户代理UA,什么发出的请求。

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0

# 可以接受的内容类型

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

# 可以接受的语言

Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3

# 可以接受的数据编码类型(压缩编码)

Accept-Encoding: gzip, deflate

# 携带的cookie数据

Cookie: PHPSESSID=i76sa2297sp1adlfk3e4eja612

# tcp连接类型 keep-alive保持激活

Connection: keep-alive

# Keep-Alive: 30 保持连接的时间段秒

# 缓存控制选项

Pragma: no-cache

Cache-Control: no-cache

 

注意语法格式:

头,由标识与内容组成,使用冒号分隔(标识与冒号间不能存在空格)

每个头占用一行,行结尾,使用CRLF(回车换行\r\n)

可以存在多个头。

头信息结束使用空行标志

 

请求主体:request_content

请求的主要用户数据。

就是POST数据。

如果方式为POST,则需要请求分主体部,(GET没有请求主体)

模拟GET

Curl资源= curl_init()初始化curl

curl_setopt(curl资源,选项标志,选项值)

curl_exec(资源)发出请求

curl_close()关闭资源

posted on 2019-06-03 08:08  栋H栋  阅读(162)  评论(0编辑  收藏  举报