一、http协议
• 套接字(Socket)是通信的基石,是支持TCP/IP协议的网络
通信的基本操作单元。
• Socket可以看成在两个程序进行通讯连接中的一个端点,一
个程序将一段信息写入Socket中,该Socket将这段信息发送
给另外一个Socket中,使这段信息能传送到其他程序中。
Socket通信模拟
• Socket提供了网络通信的能力,基于Socket可以实现TCP连接进行数
据传输,处于比较底层的位置。
• 在传输数据时,可以只使用TCP/IP协议(传输层) ,但是如果没有
应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必
须使用到应用层协议,例如HTTP、FTP、TELNET等(也可以自己定
义应用层协议)。
• Web应用使用HTTP协议作应用层协议,以封装HTTP文本信息,然
后使用TCP/IP做传输层协议将它发到网络上。
• 使用浏览器的开发者工具查看http协议内容
右键,检查,通过框住的地方可以选择停靠位置
• 请求内容
GET /dayxx/hello HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/77.0.3865.120 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,en-us;q=0.8,zh;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
• 请求格式
请求行 GET /xxxx/index.html HTTP/1.1 (请求方式 请求资源 http协议版本)
请求头(键值对形式存在。host、user-agent、referer…)
一个空行
实体内容(POST提交的参数)
• 请求方式
• HTTP协议版本
http1.0:当前浏览器客户端与服务端建立连接后,只能发送一次
请求,一次请求后连接关闭
http1.1:当前浏览器客户端与服务端建立连接后,可以在一次连
接中发送多次请求。(基本都使用1.1)
• 请求资源
URI:统一资源标识符(Uniform Resource Identifier),是一种语义上的抽象概念,用于标记任何资源。可以是本地文件系统,局域网的资源,可以是互联网资源。
URL:统一资源定位符(Uniform Resource Locator )。如:• http://localhost:8080/xxx/testImg.html。 • 只能定位互联网资源。是URI的子集。
• 请求头
• 响应内容
• 响应格式
状态行(协议版本 状态码 状态描述)
响应头(键值对。Server、Content-Length、Date…)
一个空行
响应正文