这是我参与第五届青训营伴学笔记创作活动的第5天,今天学习的是HTTP使用指南。 HTTP 是基于 TCP/IP 协议的应用层协议(www.ruanyifeng.com/blog/2012/0…
GET /index.html
上面命令表示,TCP 连接(connection)建立后,客户端向服务器请求(request)网页index.html。协议规定,服务器只能回应HTML格式的字符串,不能回应别的格式。
<html>
<body>Hello World</body>
</html>
服务器发送完毕,就关闭TCP连接。
使用格式:
GET / HTTP/1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5)
Accept: */*
因此,服务器回应的时候,必须告诉客户端,数据是什么格式,这就是Content-Type字段的作用。比如:关于字符的编码,1.0版规定,头信息必须是 ASCII 码,后面的数据可以是任何格式。text/plain text/html text/css image/jpeg image/png 等等。 但它也有缺点:HTTP/1.0 版的主要缺点是,每个TCP连接只能发送一个请求。发送数据完毕,连接就关闭,如果还要请求其他资源,就必须再新建一个连接。TCP连接的新建成本很高,因为需要客户端和服务器三次握手,并且开始时发送速率较慢(slow start)。所以,HTTP 1.0版本的性能比较差。随着网页加载的外部资源越来越多,这个问题就愈发突出了。 HTTP协议是一个简单的请求-响应协议,它通常运行在TCP之上,传输端口一般为80。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;在报文的可读性和调试性上有很大的优势。现在互联网大行其道,HTTP可以说是无处不在(HTTPS就是HTTP的TLS/SSL的加密传输形式,这种方式在认证上比较复杂)。