http服务器 如何传输文件,如何实现一个http服务器

1. HTTP协议

HTTP请求(Request)

请求行

消息报头

请求正文

POST / HTTP/1.1(CRLF)

Host: 127.0.0.1:8887(CRLF)

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

Accept-Language: zh-cn(CRLF)

Connection: keep-alive(CRLF)

Accept-Encoding: gzip, deflate(CRLF)

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) (CRLF)AppleWebKit/601.5.17 (KHTML, like Gecko) Version/9.1 Safari/601.5.17(CRLF)

(CRLF)

user=jeffrey&pwd=1234

HTTP响应(Response)

HTTP/1.1 200 OK(CRLF)

Server: nginx(CRLF)

Date: Wed, 08 Jun 2016 10:41:36 GMT(CRLF)

Content-Type: text/html; charset=utf-8(CRLF)

Transfer-Encoding: chunked(CRLF)

Connection: keep-alive(CRLF)

Vary: Accept-Encoding(CRLF)

X-Frame-Options: DENY(CRLF)

X-XSS-Protection: 1; mode=block(CRLF)

X-Content-Type-Options: nosniff(CRLF)

ETag: W/"a1c3bab6de0d56048beb8f0eafbb9ea4"(CRLF)

Cache-Control: max-age=0, private, must-revalidate(CRLF)

Set-Cookie: _session_id=....; path=/; HttpOnly(CRLF)

X-Request-Id: 252cf775-a065-4dc6-bbf8-593c6a982940(CRLF)

X-Runtime: 0.697513(CRLF)

Content-Encoding: gzip(CRLF)

(CRLF)

响应体(body)

2. 文件上传

在最初的 http 协议中,没有上传文件方面的功能。 rfc1867 为 http 协议添加了这个功能。

POST / HTTP/1.1(CRLF)

Host: 127.0.0.1:8887(CRLF)

Content-Type:multipart/form-data;boundary=---------------------------7d33a816d302b6(CRLF)

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

Accept-Language: zh-cn(CRLF)

Connection: keep-alive(CRLF)

Accept-Encoding: gzip, deflate(CRLF)

User-Agent: Mozilla/4.0 (compatible; OpenOffice.org)(CRLF)

(CRLF)

-----------------------------7d33a816d302b6

Content-Disposition: form-data; name="file1"; filename="11.o"(CRLF)

Content-Type: application/octet-stream(CRLF)

(CRLF)

xxxxxxx(代表二进制数据)

-----------------------------7d33a816d302b6

Content-Disposition: form-data; name="file2"; filename="11.o"(CRLF)

Content-Type: text/plain(CRLF)

(CRLF)

ADAAASAD(文本数据)

-----------------------------7d33a816d302b6

Content-Disposition: form-data; name="username"

(CRLF)

xujiguag

-----------------------------7d33a816d302b6--(CRLF)

(CRLF)

3. web服务器流程

e0d174d00aa2

web服务器流程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值